Cita de: YreX-DwX en 10 Diciembre 2018, 00:19 AMquitas la parte de reg[10] y es el codigo que puse como me dijiste
Sin ver cómo te ha quedado el código no sé por qué te saldrá ese error...
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: YreX-DwX en 10 Diciembre 2018, 00:19 AMquitas la parte de reg[10] y es el codigo que puse como me dijiste
Sin ver cómo te ha quedado el código no sé por qué te saldrá ese error...
[quote author=MAFUS link=topic=490488.msg2180521#msg2180521 date=1544397010]
Un array de estructuras.
signals[i].sigA = getSignal();
Cita de: YreX-DwX en 10 Diciembre 2018, 00:04 AMYa hice lo que me dijiste de sacar la estructura pero me sigue apareciendo el error que dice ´a´ que en este caso es la señal dentro de <struct> no está definido como hago?
Vale, creo que ya te entiendo. Un arreglo de 5 elementos y que cada elemento sea un conjunto de 5 señales.
Para eso la idea más simple es un arreglo de arreglos, comúnmente conocido como matriz.
Si lo quieres hacer sin matrices y usando <struct> entonces tienes que usar la tercera opción que te he dado antes. Crear una <struct> que almacene 5 enteros y luego hacer un arreglo de 5 structs. Ya te he dejado antes también como acceder a cada uno de los elementos. Suerte.
Cita de: YreX-DwX en 9 Diciembre 2018, 23:55 PMBásicamente lo que quiero es que en cada uno de los espacios de los arreglos se pueda registrar cinco señales a eso era lo que me refería, tengo un arreglo de diez pero en cada uno de estos espacios cinco señales que en cada posicion del arreglo se puedan ingresar cinco señales, en vez de hacer una matriz hago un arreglo pero que dicho arreglo tengo cinco espacios de informacion
No termino de entender tu planteamiento. Si lo que quieres es un arreglo donde almacenar 5 enteros, te sirve la primera opción que te he dado. En cambio si vas a ampliar el programa. igual te viene mejor usar <struct>.
No entiendo esto que has comentado.
Cita de: YreX-DwX en 9 Diciembre 2018, 19:35 PMDisculpa pero lo que estoy buscando hacer es tener un arreglo en el cual pueda tener cinco datos, el problema como tal si esta orientado a un objeto dado que es una parte de un avión llamado APU, el arreglo sería de diez partes y que dentro de dicho arreglo tenga un registro de cinco señales que hacen que la APU se apague
Primero, el código ponlo entre etiquetas GeSHi, seleccionando el lenguaje que usas.
Segundo, ese código tiene problemas lo cojas por donde lo cojas.
Ahora la pregunta es, quieres usar un arreglo o una <struct>?? Si quieres usar un arreglo para 5 datos de tipo <int> tienes que crear un arreglo de tamaño 5, como es lógico y acceder a cada posición del arreglo con los índices {0,1,2,3,4}.
const int MAX_SIGNALS = 5;
int signals[MAX_SIGNALS];
for(int i = 0; i < MAX_SIGNALS; i++){
printf("Introduce numero para guardar en la posicion %d del arreglo", i);
scanf("%d", &signals[i]);
}
Si lo que quieres es usar una <struct> primero declara la <struct> antes del <main> para después usarla dentro de este.
struct Signal{
int a, b, c, d, e;
};
int main(){
Signal mySignal;
printf("Introduce primer numero: ");
scanf("%d", mySignal.a);
// asi con todos los numeros
}
Dejar claro que esto no es un arreglo, es una estructura, esto está más orientado a la programación orientada a objetos POO. Por lo que estás creando un objeto <mySignals> de tipo <Signal> y un objeto de tipo <Signal> está compuesto internamente de 5 enteros.
Si quieres mezclar ambas cosas, que es lo que parece que estabas intentando con ese código, lo que hay que hacer es crear un arreglo de Signals. Entonces creamos por ejemplo un arreglo de tamaño 2 y cada uno de sus elementos {0,1} serán un objeto de tipo <Signal>.
struct Signal{
int a, b, c, d, e;
};
int main(){
Signal mySignals[2];
// para acceder por ejemplo al segundo entero del primer objeto sería mySignals[0].b
}
Ahora ya es decisión tuya usar lo que creas más conveniente para tu programa. Suerte.