elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda!  (Leído 1,358 veces)
Josedamir.

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda!
« en: 27 Mayo 2019, 00:42 am »

Muchach@s tengo una duda y quisiera que me hicieran el favor de aclararmela, ya que yo no noto el error en este codigo quisiera saber en que estoy fallando.
El programa debe imprimir el nombre de cada persona ingresada y su edad.
Gracias.
Código
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. int main(){
  5. string nombre [3];
  6. int edad[3];
  7. for(int i=0;i<=3;i++){
  8.  
  9. cout<<"Digite nombre "<<i+1<<endl;cin>>nombre[i];
  10. cout<<"Digite edad "<<i+1<<endl;cin>>edad[i];
  11.  
  12. }
  13. for(int i=0;i<=3;i++){
  14.  
  15. cout<<" Nombre: "<<nombre[i]<<endl;
  16. cout<<"Edad: "<<edad[i]<<endl;
  17. cout<<" Bye "<<endl;
  18.  
  19.  
  20. }
  21.  
  22.  
  23.  
  24. return 0;
  25. }
  26.  
  27.  


[MOD] Usar etiquetas GeSHi para publicar código.


« Última modificación: 27 Mayo 2019, 11:27 am por simorg » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Ayuda!
« Respuesta #1 en: 27 Mayo 2019, 00:46 am »

Un array de tamaño n va desde el 0 hasta el n-1, ambos incluidos.
Si el tamaño de esos arrays es 3, tienes que acceder a las posiciones 0,1 y 2 y en ese for estás accediendo a la posición 3 que está fuera de los límites.


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Enzo Sandoval

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: Ayuda!
« Respuesta #2 en: 27 Mayo 2019, 03:48 am »

Verdad si cierto, deberias cambiar la condicion de ese for por
Código
  1. string nombre [3];
  2.   int edad[3];
  3.   for(int i=0;i<3;i++){//acá como dice YreX-DwX, tu haces esto 0,1,2,3
  4.     cout<<"Digite nombre "<<i+1<<endl;
  5. cin>>nombre[i];//acá te falto acseder a ese posision del arreglo
  6. cout<<"Digite edad "<<i+1<<endl;
  7. cin>>edad[i];//acá tambien te falto acseder a ese posision del arreglo
  8. fflush(stdin);//linpiesa de bufer
  9.   }
  10.    for(int i=0;i<3;i++){//Bueno aca tambien, habias puesto desde 0 hasta 3 cuando es desde 0 hasta 2
  11.     cout<<" Nombre: "<<nombre[i]<<endl;
  12.       cout<<"Edad: "<<edad[i]<<endl;
  13.       cout<<" Bye "<<endl;//Este Bye lo repites en cada repetision xd
  14.   }


Hace dos noches empece a leer un libro de C++ y vi eso tal vez te pueda ayudar, me llamo Enzo, tengo 9 años y vivo en la Argentina.  ;D
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Ayuda!
« Respuesta #3 en: 27 Mayo 2019, 04:00 am »

@Enzo, parece que no está poniendo el índice i entre corchetes porque al no usar etiquetas de código, eso se traduce como cursiva. Por eso a partir de donde debería estar la i entre corchetes  la letra empieza a salir en cursiva.
Si vas a acabar todos tus mensajes con tu nombre y tu edad, ponlo en tu firma, por lo menos para ahorrarte el escribirlo en cada mensaje  :xD
Y si es cierto que tienes 9 años y que por tanto imagino que estás empezando con la programación, no cojas los malos hábitos desde pequeño, no uses <fflush(stdin)>
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines