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
//elementos
int elemento1 = 1;
int elemento2 = 2;
int elemento3 = 3;
y un array de 5 elementos tipo int;
int* array_1;
int* array_2;
int* array_3;
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
/**
Calculo de los valores y carga en un array
*/
int* carga_array (int valor) {
//declaracion de array temporal y lo devuelvo
int* array_temp;;
//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
/**
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 loop declaro
//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.
************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,
Tambien tengo problemas a la hora de definir el tamaño correcto de los array, de ahi que tengan esa anotacion int* que no se lo que significa
Como podria ejecutar este ejercicio?
Agradeceria mucho vuestra ayuda