Autor
|
Tema: Problema con matrices y cadenas. (Leído 2,281 veces)
|
GustavoArango
Desconectado
Mensajes: 2
|
Empece a programar hace poco, y aunque en la universidad no hemos visto matrices, yo he estado investigando y ya se (mas o menos ) 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 este es el programa: #include<stdio.h> #include<windows.h> #include<string> using namespace std; main() { int f1,c1,f,c,i,j,k,m; string a; printf("Por favor digite la cantidad de filas que desea:"); printf("Por favor digite la cantidad de columnas que desea:"); f1=f+1; c1=c+1; string matrizB[f1][c1]; for(i=1;i<=f;i++) { for(j=1;j<=c;j++) { printf("posicion (%d,%d):",i ,j ); matrizB[i][j]=a; } } for(i=1;i<=f;i++) { } for(i=1;i<=f;i++) { for(j=1;j<=c;j++) { printf("\t%s\t",matrizB [i ][j ]. c_str()); } } }
Si, se que hay MUCHÍSIMOS errores (no me juzguen comencé hace poco ), 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: #include<stdio.h> #include<windows.h> main() { int a,f1,c1,f,c,i,j,k,m; printf("Por favor digite la cantidad de filas que desea:"); printf("Por favor digite la cantidad de columnas que desea:"); f1=f+1; c1=c+1; int matrizB[f1][c1]; for(i=1;i<=f;i++) { for(j=1;j<=c;j++) { printf("posicion (%d,%d):",i ,j ); matrizB[i][j]=a; } } for(i=1;i<=f;i++) { } for(i=1;i<=f;i++) { for(j=1;j<=c;j++) { printf("\t%d\t",matrizB [i ][j ]); } } }
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 · Los códigos deben ir en etiquetas GeSHi >aquí las reglas del foro -Engel Lex
|
|
« Última modificación: 7 Mayo 2017, 06:02 am por engel lex »
|
En línea
|
|
|
|
engel lex
|
ok... hace poco habia dicho que no se podìa programar mezclado c y c++ o era uno u otro... ya veo que no... D: tu codigo es un desastre D: si estás usando <string> y "using namespace" estás en c++, entonces lee y escribe por sus respectivos metodos para sus variables primero que nada main debe ser int y retornar 0 si todo salió bien no entiendo porque en tu array siempre empiezas desde 1 :s simplemente te dejaré la forma en que yo lo haría en C++ #include<iostream> #include<string> using namespace std; int main() { int f,c,i,j; cout << "Por favor digite la cantidad de filas que desea:"; cin >> f; cout << "Por favor digite la cantidad de columnas que desea:"; cin >> c; string matrizB[f][c]; for(i=0;i<f;i++){ cout << endl; for(j=0;j<c;j++){ cout << endl; cout << "\tposicion (" << (i+1) << ":" << (j+1) << "): "; cin >> matrizB[i][j]; } } for(i=0;i<f;i++){ cout << "\tF" << (i+1) << "\t"; } for(i=0;i<f;i++){ cout << endl; cout << "C" << (i+1); for(j=0;j<c;j++){ cout << "\t" << matrizB[i][j] << "\t"; } } cout << endl; return 0; }
y aquí en C #include<stdio.h> #include<string.h> int main(){ int f,c,i,j; printf("Por favor digite la cantidad de filas que desea:"); printf("Por favor digite la cantidad de columnas que desea:"); char matrizB[f][c][20]; for(i=0;i<f;i++){ for(j=0;j<c;j++){ printf("posicion (%d,%d):",i +1,j +1); scanf("%s",matrizB [i ][j ]); } } for(i=0;i<f;i++){ } for(i=0;i<f;i++){ for(j=0;j<c;j++){ printf("\t%s\t",matrizB [i ][j ]); } } return 0; }
|
|
|
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.
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Cuidado con dimensionar arrays a partir de variables, eso es una dependencia del compilador. El estándar dice que solo se pueden dimensionar con constantes. Para dimensionar con variables debe de forma dinámica.
|
|
|
En línea
|
|
|
|
GustavoArango
Desconectado
Mensajes: 2
|
Vale, gracias, no tenia idea que no podía mezclar una cosa con la otra, lo he hecho todo el tiempo , y lo de que la matriz comience en +1 son puras paranoias mías, creí que si lo dejaba exacto no iba a funcionar porque no leería el ultimo dato o alguna cosa así , ya veo que no, el problema es que no estoy familiarizado con la librería iostream, sino con la stdio, no sabia que la primera era la de c++, solo me han enseñado stdio, de nuevo muchas gracias por mostrarme el programa, me ayudo a aclararme en muchas cosas, saludos
|
|
|
En línea
|
|
|
|
engel lex
|
Cuidado con dimensionar arrays a partir de variables, eso es una dependencia del compilador. El estándar dice que solo se pueden dimensionar con constantes. Para dimensionar con variables debe de forma dinámica.
cierto XD pero soy sincero y me ha dado pereza siempre la redimensión en C y en C++ eso me iba a tomar como 6 lineas XD
|
|
|
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.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
un problema de matrices
Programación Visual Basic
|
ZifuSka
|
3
|
1,862
|
24 Octubre 2005, 05:35 am
por ZifuSka
|
|
|
Problema con matrices
Programación Visual Basic
|
nhaalclkiemr
|
6
|
2,231
|
25 Agosto 2007, 22:04 pm
por CeLaYa
|
|
|
Ayuda con matrices de cadenas
« 1 2 »
Programación C/C++
|
negux
|
14
|
13,451
|
30 Junio 2010, 00:17 am
por negux
|
|
|
[c] Problema con matrices
Programación C/C++
|
Dacan
|
1
|
1,662
|
5 Abril 2013, 03:53 am
por betokscr
|
|
|
Problema con matrices
Programación C/C++
|
Xammm
|
4
|
2,647
|
10 Julio 2014, 14:07 pm
por Xammm
|
|