Dev - C++ - Ejercicio que devuelve un array

   
Vista:
Imágen de perfil de Juan Jose

Ejercicio que devuelve un array

Publicado por Juan Jose (1 intervención) el 30/11/2017 10:16:22
Hola a todos, estoy programando un a placa arduino y estoy utilizando C++ ,

Tengo algunos conocimientos de otros lenguajes como java, javascript, php... pero de C++ no estoy muy puesto

Pues bien este es mi problema, creo que es algo bastante sencillo pero no consigo el resultado adecuado.

Tengo 3 variales

1
2
3
4
//elementos
int elemento1 = 1;
int elemento2 = 2;
int elemento3 = 3;

y un array de 5 elementos tipo int;

1
int* array_1;

pues bien , creo una funcion que recibe un elemento , calcula los primeros elementos de la tabla de mutiplicar:
y devuelve el array con los elemtos


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
   Calculo de los valores y carga en un array
*/
int*  carga_array (int valor) {
 
  //declaracion de array temporal
  int array_temp[5];
 
  //calculo de las variables
  array_temp[0] = valor;
  array_temp[1] = valor * 1;
  array_temp[2] = valor * 2;
  array_temp[3] = valor * 3;
  array_temp[4] = valor * 4;
 
  return array_temp;
 
}

y otra funcion que los muestra pon una consola

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
  Mostrar por pantalla
*/
void mostrar(int* datos) {
 
  Serial.println("************ELEMENTO : " + (String)datos[0] + " **************************");
  Serial.println("Elemento 1: " + (String)datos[1]);
  Serial.println("Elemento 2: " + (String)datos[2]);
  Serial.println("Elemento 3 : " + (String)datos[3]);
  Serial.println("Elemento 4 : " + (String)datos[4]);
  Serial.println("********************************************************************");
 
}


//en el main (en arduino es un metodo llamado loop)

1
2
3
4
5
//carga del array_1 con los datos de la funcion
array_1=carga_array(elemento1);
 
//lo mostramos por pantalla
mostrar(array_1);

pues bien por consola, nos muestra datos correctos.
1
2
3
4
5
6
************ELEMENTO : -256 **************************
Elemento 1: 256
Elemento 2: -16270
Elemento 3 : 8703
Elemento 4 : 770
********************************************************************

Creo que tiene algo que ver con la referencia a la memoria de los elementos del array.

Como podria ejecutar este ejercicio?

Agradeceria mucho vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder