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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Problema con matrices y cadenas. en: 7 Mayo 2017, 05:31 am
Empece a programar hace poco, y aunque en la universidad no hemos visto matrices, yo he estado investigando y ya se (mas o menos  :silbar:) como realizar una matriz, hice varios ejercicios, asi que decidi dar el siguiente paso, intente hacer una matriz con cadenas, y por el titulo del post pues ya se habran imaginado que paso  :xD este es el programa:

Código
  1. #include<stdio.h>
  2. #include<windows.h>
  3. #include<string>
  4. using namespace std;
  5.  
  6. main()
  7. {
  8. int f1,c1,f,c,i,j,k,m;
  9. string a;
  10.  
  11.    printf("Por favor digite la cantidad de filas que desea:");
  12.    scanf("%d",&f);
  13.    printf("Por favor digite la cantidad de columnas que desea:");
  14.    scanf("%d",&c);
  15.  
  16. f1=f+1;
  17. c1=c+1;
  18.  
  19. string matrizB[f1][c1];    
  20.  
  21.   for(i=1;i<=f;i++)
  22.       {
  23.         printf("\n\t");
  24.  
  25.        for(j=1;j<=c;j++)
  26.        {          
  27.           printf("\n\t");
  28.           printf("posicion (%d,%d):",i,j);
  29.   scanf("%s",&a);
  30.           matrizB[i][j]=a;
  31.        }
  32.       }
  33.       for(i=1;i<=f;i++)
  34.       {
  35.       printf("\tF%d\t",i);
  36.   }
  37.  
  38.       for(i=1;i<=f;i++)
  39.       {
  40.       printf("\n");
  41.       printf("C%d",i);
  42.       for(j=1;j<=c;j++)
  43.       {
  44.       printf("\t%s\t",matrizB[i][j].c_str());
  45.   }
  46.   }    
  47. }
  48.  
Si, se que hay MUCHÍSIMOS errores (no me juzguen comencé hace poco  :rolleyes:), tal vez habrán muchas novatadas y cosas que sobran, pero es lo que puedo hacer hasta que tenga ya bastante experiencia en este tema. Bueno, el tema aquí es que si en vez de string cambio todo a int, es decir utilizo números, el programa funciona de maravilla:
Código
  1. #include<stdio.h>
  2. #include<windows.h>
  3.  
  4. main()
  5. {
  6. int a,f1,c1,f,c,i,j,k,m;
  7.  
  8.    printf("Por favor digite la cantidad de filas que desea:");
  9.    scanf("%d",&f);
  10.    printf("Por favor digite la cantidad de columnas que desea:");
  11.    scanf("%d",&c);
  12.  
  13. f1=f+1;
  14. c1=c+1;
  15.  
  16. int matrizB[f1][c1];    
  17.  
  18.   for(i=1;i<=f;i++)
  19.       {
  20.         printf("\n\t");
  21.  
  22.        for(j=1;j<=c;j++)
  23.        {          
  24.           printf("\n\t");
  25.           printf("posicion (%d,%d):",i,j);
  26.   scanf("%d",&a);
  27.           matrizB[i][j]=a;
  28.        }
  29.       }
  30.       for(i=1;i<=f;i++)
  31.       {
  32.       printf("\tF%d\t",i);
  33.   }
  34.  
  35.       for(i=1;i<=f;i++)
  36.       {
  37.       printf("\n");
  38.       printf("C%d",i);
  39.       for(j=1;j<=c;j++)
  40.       {
  41.       printf("\t%d\t",matrizB[i][j]);
  42.   }
  43.   }
  44. }

Creí que simplemente cambiando los números a cadenas iba a funcionar, pero ya veo que no, alguien me podría ayudar por favor, o si lo estoy haciendo mal y hay otra forma con la que se introduce caracteres o cadenas a una matriz me podrían indicar cual es, muchas gracias  ;D ;D ;D


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines