Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Array de 2 dimensiones para caracteres

Estas en el tema de Array de 2 dimensiones para caracteres en el foro de C/C++ en Foros del Web. Hola veran lo que quiero hacer es una lista de nombres dentro de un array o matriz o como se llame.. llebo muy poco tiempo ...
  #1 (permalink)  
Antiguo 01/07/2011, 13:24
 
Fecha de Ingreso: mayo-2011
Ubicación: Almeria (España)
Mensajes: 51
Antigüedad: 10 años
Puntos: 3
Array de 2 dimensiones para caracteres

Hola veran lo que quiero hacer es una lista de nombres dentro de un array o matriz o como se llame.. llebo muy poco tiempo programando y no lo consigo.

He intentado de todo pero no se... porfavor si pudiran ponerme un ejemplo..

Tengo esto:
Código:
#include <iostream>
using namespace std;

char Nombres[10][30];
int main()
{         
          Nombres[1][1]= "h";
          Nombres[1][2]= "o";
          Nombres[1][3]= "l";
          Nombres[1][4]= "a";
          cin.get();
          return 0;
}
y al compilar me dice esto: (utilizo dev c++)
invalid conversion from 'const char' to 'char'
en todas las lineas que asingo --> Nombre[x][x] = "x";


Tambien he intentado esto:
Código:
#include <iostream>
using namespace std;

char Nombres[10][30];
int main()
{         
          Nombres[1]= "hola";
          cin.get();
          return 0;
}
Me devuelve el compilador:
incompatible types in assignment of `const char[5]' to `char[30]'


y lo mas extraño esque si pongo esto
Código:
#include <iostream>
using namespace std;

char Nombres[10][5];
int main()
{         
          Nombres[1]= "hola";
          cin.get();
          return 0;
}
Me dice esto:
ISO c++ forbids assignment of arrays
(TRADUCCION: ISO C + + prohíbe la asignación de las matrices)


Buscando por internet he econtrado esto:

De hecho, no se puede asignar matrices. lfFaceName es internamente un char [] o algo similar, y los literales de cadena ("como estas") son realmente char [] s. Tiene que usar strcpy () o uno de sus hermanos para copiar la cadena.

Última edición por berserkerhacker; 01/07/2011 a las 14:24
  #2 (permalink)  
Antiguo 01/07/2011, 14:30
 
Fecha de Ingreso: mayo-2011
Ubicación: Almeria (España)
Mensajes: 51
Antigüedad: 10 años
Puntos: 3
Respuesta: Array de 2 dimensiones para caracteres

Alfinal lo he arreglado yo solo XD he usado strcopy.. mirad:
Código:
#include <iostream>
using namespace std;

char cad[10][30];

int main()
{     
         char *cadena = "Cadena"; 
           strcpy(cad[1], cadena);
           cout << cad[1] << endl;

          cin.get();
          return 0;
}
Pero quiero que el susuario introduzca el nombre y se meta en el array
ayuda

Última edición por berserkerhacker; 01/07/2011 a las 14:56
  #3 (permalink)  
Antiguo 03/07/2011, 16:53
Avatar de paracoccidio  
Fecha de Ingreso: abril-2011
Ubicación: Guadalajara, Jalisco, Mexico
Mensajes: 27
Antigüedad: 10 años
Puntos: 4
Respuesta: Array de 2 dimensiones para caracteres

Bueno al parecer nadie te quiere hacer el paro a esto o simplemente todos estan peor que tu!!! jajjaa
pues mira para declarar un arreglo bidimensional con letras seria algo asi:
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. char Nombres[10][5];
  5. char nombre[5];
  6. int main()
  7. {  
  8.    
  9.     for(int i = 0; i< 10;++i){
  10.         cout<<"Ingresa El nombre: ";
  11.         cin.getline(nombre,5);
  12.         for(int e = 0; e< 5;++e){
  13.             Nombres[i][e] = nombre[e];
  14.             cout<<Nombres[i][e];
  15.         }
  16.         cout<<endl;
  17.     }
  18.     cin.get();
  19.     return 0;
  20. }

Última edición por paracoccidio; 03/07/2011 a las 17:25 Razón: me falto algo
  #4 (permalink)  
Antiguo 03/07/2011, 17:26
Avatar de paracoccidio  
Fecha de Ingreso: abril-2011
Ubicación: Guadalajara, Jalisco, Mexico
Mensajes: 27
Antigüedad: 10 años
Puntos: 4
De acuerdo Respuesta: Array de 2 dimensiones para caracteres

o ya que si las quieres declarar desde tu codigo seria algo asi:
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. char Nombres[6][6] = {{"jose"},{"pedro"},{"luis"},{"omar"},{"etc"},{0}};
  5. char nombre[5];
  6. int main()
  7. {  
  8.     for(int i = 0; i < 6;++i){
  9.         for(int e = 0; e < 6;++e){
  10.             cout<<Nombres[i][e];
  11.         }
  12.         cout<<"\n";
  13.     }
  14.     cin.get();
  15.     return 0;
  16. }
  #5 (permalink)  
Antiguo 05/07/2011, 09:06
 
Fecha de Ingreso: mayo-2011
Ubicación: Almeria (España)
Mensajes: 51
Antigüedad: 10 años
Puntos: 3
Respuesta: Array de 2 dimensiones para caracteres

Cita:
Iniciado por paracoccidio Ver Mensaje
o ya que si las quieres declarar desde tu codigo seria algo asi:
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. char Nombres[6][6] = {{"jose"},{"pedro"},{"luis"},{"omar"},{"etc"},{0}};
  5. char nombre[5];
  6. int main()
  7. {  
  8.     for(int i = 0; i < 6;++i){
  9.         for(int e = 0; e < 6;++e){
  10.             cout<<Nombres[i][e];
  11.         }
  12.         cout<<"\n";
  13.     }
  14.     cin.get();
  15.     return 0;
  16. }
Muchisimas gracias

Etiquetas: caracteres, dimensiones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:01.