Autor
|
Tema: Como funciona este arreglo? (Leído 5,110 veces)
|
FKT
Desconectado
Mensajes: 221
|
#include <stdio.h> int arreglo [5] int main(){ for(int i = 0; i > 5; i++) { printf("\nIngrese el valor del arreglo en la posicion %i: ",i ); scafn("%i",&arreglo[i]); return 0;
Si declaramos un arreglo con 5 posiciones, (0, 1, 2, 3, 4) por qué pone en el printf "arreglo ?? Si no hay ninguna posicion "i" Solo hay 5 ?¿
|
|
« Última modificación: 8 Septiembre 2015, 11:25 am por FKT »
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
engel lex
|
"i" es una variable... la declaras en el for for(int i = 0; i > 5; i++)
puedes traducirlo como "para i empezando en 0; mientras que i sea mayor que 5; incrementa en 1 a i por ciclo" viendo eso tienes un error (en realidad 2 porque te falta cerrar el for)
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
FKT
Desconectado
Mensajes: 221
|
"i" es una variable... la declaras en el for for(int i = 0; i > 5; i++)
puedes traducirlo como "para i empezando en 0; mientras que i sea mayor que 5; incrementa en 1 a i por ciclo" viendo eso tienes un error (en realidad 2 porque te falta cerrar el for) Ya, sé como funciona el "for", y si , me he dejado el "}" para cerrar el for, también sé que "i" es una variable xD Lo que pregunto es que que hace la "i" dentro del arreglo?? Y como funciona ?
|
|
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
engel lex
|
un arreglo es un señalador a una posición de memoria, el tipo es el largo del tipo de dato, el valor entre brackets es un multiplicador... ejemplo arreglo aparta de la posición "326" de memoria, y aparta 5 espacios de 4 bits (tipo int) cuando haces arreglo[0], sería "qué contiene la posición de memoria (326+4*0)?" es decir es similar a
|
|
« Última modificación: 7 Septiembre 2015, 20:11 pm por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
FKT
Desconectado
Mensajes: 221
|
un arreglo es un señalador a una posición de memoria, el tipo es el largo del tipo de dato, el valor entre brackets es un multiplicador... ejemplo arreglo aparta de la posición "326" de memoria, y aparta 5 espacios de 4 bits (tipo int) cuando haces arreglo[0], sería "qué contiene la posición de memoria (326+4*0)?" es decir es similar a Sigo sin entender el motivo de la variable "i" dentro de el arreglo.
|
|
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
engel lex
|
i es un señalador a la posición de memoria... es decir el primer valor será (con el ciclo corregido) imprime *(arreglo+0) imprime *(arreglo+1) imprime *(arreglo+2) ...etc...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
FKT
Desconectado
Mensajes: 221
|
i es un señalador a la posición de memoria... es decir el primer valor será (con el ciclo corregido) imprime *(arreglo+0) imprime *(arreglo+1) imprime *(arreglo+2) ...etc... Me estas diciendo que *(arreglo+0) es lo mismo que arreglo[0], *(arreglo+1) es igual que arreglo[1] y así... Si me estas diciendo eso, ya lo sé aunque creo que no has entendido mi pregunta o es que no me he explicado bien. Vuelvo ha hacer la pregunta: #include <stdio.h> int arreglo [5] int main(){ for(int i = 0; i > 5; i++) { printf("\nIngrese el valor del arreglo en la posicion %i: ",i ); scafn("%i",&arreglo[i]); } return 0;
Aquí en:
La variable "i" a que parte del programa hace referencia y como la opera? Perdona.. Modifico este mensaje porque creo que lo he entendido, puede ser que en "arreglo " significa "arreglo[Aquí si por ejemplo "i" es igual a 20 pues hará referencia a el índice 20??]"
Espero tu respuesta.
|
|
« Última modificación: 7 Septiembre 2015, 20:53 pm por FKT »
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
RockPosts
Desconectado
Mensajes: 28
|
Como se ha dicho en este hilo, un arreglo, es decir, un puntero, apunta hacia una dirección de memoria. Ahora bien, en en caso de los arreglos, pasa lo siguiente: Pongamos este ejemplo: #include <iostream> int main() { int valor[4] = {2, 3, 1, 4}; std::cout << valor[0] << std::endl; std::cin.get(); return 0; }
En este caso, hemos declarado e inicializado un arregle de 4 elementos. Aunque tu veas el arreglo así, en realidad lo que almacena 'valor' es una dirección que apunta al primer byte de ese arreglo: Como puedes ver,lo que almacena en realidad nuestro arreglo, es donde se encuentran los datos del arregloEntonces, volviendo al tema, lo que le debes pasar a scanf es DONDE quieres que guarde lo que ha leido de la consola, entonces debes pasarle LA DIRECCION DEL ELEMENTO DEL ARRAY QUE LE QUIERES PASAR. Para hacer esto, primero debes indicar que elemento quieres cambiar (lo cual se hace con los corchetes []), y después debes pasarle donde está ese elemento, con el operador &. Entonces, en resumidas cuentas, lo que hace este programa es acceder a los elementos del arreglo por orden, porque la variable 'i' va tomando valores desde 0 hasta 4
|
|
|
En línea
|
|
|
|
FKT
Desconectado
Mensajes: 221
|
Por fin lo he entendido Gracias gente y Saludos.
|
|
|
En línea
|
Solo hay 10 tipos de personas, las que saben binario y las que no.
|
|
|
RockPosts
Desconectado
Mensajes: 28
|
Me alegro que te sirviese!! Cada vez que se se te resuelva una duda, marca el hilo como que ya ha sido respondida tu duda
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Cómo arreglo este problema?
Redes
|
Narciso12345
|
4
|
2,756
|
27 Mayo 2015, 23:21 pm
por Narciso12345
|
|
|
Como funciona un arreglo o vector?
Programación C/C++
|
FKT
|
7
|
4,262
|
25 Agosto 2015, 20:58 pm
por avesudra
|
|
|
¿Como funciona un arreglo?
Programación C/C++
|
fafafa01
|
1
|
2,163
|
29 Junio 2016, 08:04 am
por engel lex
|
|
|
como arreglo este error
Programación C/C++
|
KanoxSmoKinG
|
7
|
3,019
|
15 Marzo 2017, 18:21 pm
por KanoxSmoKinG
|
|
|
como es posible que este programa funciona y como funciona?
Ingeniería Inversa
|
insider dealing
|
7
|
9,724
|
1 Octubre 2017, 01:23 am
por BloodSharp
|
|