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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con Array c++ 2 Dimensiones y vector de profundiad char nombre[X][Y]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con Array c++ 2 Dimensiones y vector de profundiad char nombre[X][Y]  (Leído 2,647 veces)
jenniferpd

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Duda con Array c++ 2 Dimensiones y vector de profundiad char nombre[X][Y]
« en: 28 Septiembre 2014, 00:23 am »

estoy iniciando en el mundo de la programacion y un amigo me dijo que empezara con c++ primero para aprender a programar, horita estoy algo confundida con un array o arreglo
le explico este es mi code:

Código:

// LIBRERIAS
#include <iostream>
using namespace std;

// Variables Globales
const int  NR = 3;
int i,j;
char nombre[10][10],apellido[10][10];


// Funcion Madre
void main(){

//test 1

cout << "Ingrese 5 Nombres y apellidos" << endl;

for (i = 0; i < NR; i++ ){

for ( j = 0; j < NR; j++){

cout << "Nombre N[" << i << "][" << j << "]: ";
cin >> nombre[i][j];
cout << "apellido N[" << i << "][" << j << "]: ";
cin >> apellido[i][j];
}
}

system("pause");
}

el ciclo for me actua bien es decir asi:
primer ciclo de la i=0 y dentro se ejecuta la j hasta 3 veces
[0 ][0 ] Nombre:
[0 ][0 ] apellido:
[0 ][1 ] Nombre:
[0 ][1 ] apellido:
[0 ][ 2] Nombre:
[ 0][2 ] apellido:
[0 ][3 ] Nombre:
[0 ][3 ] apellido:
segundo ciclo de la i=1
[1][0] Nombre:
[1][0] apellido:
[1][1] Nombre:
[1][1] apellido:
[1][2] Nombre:
[1][2] apellido:
[1][3] Nombre:
[1][3] apellido:
i = etc...
por favor corrijan me si estoy errada es asi verdad?

1)bueno el problema es el siguiente:
cuando ingreso 1 sola letra el se ejecuta bien pero cuando ingreso un nombre como jennifer se vuelve loco no entiendo xq

2) no se supone que nombre [x ] [y ]
x= numero de filas
y= numero de columnas
hay yo tengo un arreglo
nombre: 3x3 = 9 nombres
apellidos: 3x3 = 9 apellidos?

3) char nombre [a ][b ] esto no es un vector de profundidad? xq solo me deja guarda 1 letra?
a = total de filas
b= tatal de caracteres que se guardan en cada casilla?


estoy enredada por favor aclaren mis dudas y gracias!


« Última modificación: 28 Septiembre 2014, 00:29 am por jenniferpd » En línea

milx86

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: Duda con Array c++ 2 Dimensiones y vector de profundiad char nombre[X][Y]
« Respuesta #1 en: 28 Septiembre 2014, 01:16 am »

Hola, yo lo hize asi
Código
  1. // LIBRERIAS
  2. #include <iostream>
  3. #include <stdio.h>
  4. using namespace std;
  5.  
  6. // Variables Globales
  7. const int  NR = 2;
  8. int i,j;
  9. char nombre[10][10];
  10. char apellido[10][10];
  11.  
  12. // Funcion Madre
  13. int main(void){
  14.  
  15.  
  16. cout << "Ingrese 5 Nombres y apellidos" << endl;
  17.  
  18. for (i = 0; i < NR; i++ ){
  19. cout << "Nombre [" << i << "]: ";
  20. cin >> nombre[i];
  21. fflush(stdin);
  22. cout << "apellido [" << i << "]: ";
  23. cin >> apellido[i];
  24. fflush(stdin);
  25. }
  26.  
  27. for (i = 0; i < NR; i++ ){
  28. cout << "Nombre [" << i << "]: ";
  29. cout << nombre[i] << endl;
  30. cout << "Apellido [" << i << "]: ";
  31. cout << apellido[i] << endl ;
  32.  
  33. }
  34. return 0;
  35. }
  36.  

Salida:
Código:
Ingrese 2 Nombres y apellidos
Nombre [0]: Perico
apellido [0]: Palo
Nombre [1]: Brujo
apellido [1]: Brujito
Nombre [0]: Perico
Apellido [0]: Palo
Nombre [1]: Brujo
Apellido [1]: Brujito

Estas creando un arreglo bidimensional de 10 filas por 10 columnas.
Por lo que te da para:
                           Pos Colum.
                           0123456789
Apellido [cero] ="dasd56789X"
Apellido [2] =    "huu456789X"
   .. ...
Apellido [9] =    "gvvb56789X"
Entonces no creo que debas manejar el indice de las columnas.

Ahora el problema que tambien tenia era acerca del buffer(creo xD).


Saludos  :D


« Última modificación: 28 Septiembre 2014, 01:17 am por free_c0de » En línea

La abstracción es la clave para lidiar con la complejidad.
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Duda con Array c++ 2 Dimensiones y vector de profundiad char nombre[X][Y]
« Respuesta #2 en: 28 Septiembre 2014, 04:07 am »

Ahora el problema que tambien tenia era acerca del buffer(creo xD).
En C++ para descartar el resto de la linea (introducida vía la entrada estándar) se puede utilizar un bucle o bien las funciones sync o ignore, ejemplos de ellos existen en la base de datos de los foros, solo hay que utilizar el motor de búsqueda.

El uso de fflush(stdin) en C y C++ no se recomienda, las razones de ello se explican en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Vector en tres dimensiones
Programación C/C++
_niu 6 3,574 Último mensaje 31 Diciembre 2011, 05:22 am
por _niu
Problema con función de array de 2 dimensiones
Programación C/C++
ZedGe 1 2,092 Último mensaje 26 Mayo 2012, 18:58 pm
por ZedGe
No puedo asignar un char a un array de dos dimensiones
Programación C/C++
SCUMM 5 2,993 Último mensaje 12 Febrero 2014, 16:24 pm
por eferion
Enviar array de dos dimensiones por stream
Java
Pantera80 2 2,329 Último mensaje 26 Octubre 2014, 07:35 am
por Pantera80
[C#] Array de una clase. Aumentar dimensiones
.NET (C#, VB.NET, ASP)
Sr Limone 2 2,238 Último mensaje 31 Agosto 2015, 11:31 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines