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

[SOLUCIONADO] El programa dejo de funcionar

Estas en el tema de El programa dejo de funcionar en el foro de C/C++ en Foros del Web. Hola cibernautas... aqui publicando mi primer tema hace poco haciendo este programa: #include<stdio.h> main(){ int x; do{ printf("\tSeleciona una opcion\n\n"); printf("1. Suma de Vectores\n"); printf("2. ...
  #1 (permalink)  
Antiguo 21/03/2013, 22:08
 
Fecha de Ingreso: marzo-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta El programa dejo de funcionar

Hola cibernautas... aqui publicando mi primer tema
hace poco haciendo este programa:
#include<stdio.h>
main(){
int x;
do{
printf("\tSeleciona una opcion\n\n");
printf("1. Suma de Vectores\n");
printf("2. Suma de Matrices\n");
printf("3. Multiplicacion de Matrices\n");
printf("4. Salir\n\n");
printf("Opcion=> ");
scanf("%d",&x);

switch(x){
case 1:int tv;
printf("Dame el tamaño del vector\t");
scanf("%d",&tv);
int a[tv],b[tv];
for(int i=0;i<tv;i++){
printf("Dame los elementos del vector 1[%d] ",i);
scanf("%d",&a[i]);
}
for(int i=0;i<tv;i++){
printf("Dame los elementos del vector 2[%d] ",i);
scanf("%d",&b[i]);
}
for(int i=0;i<tv;i++){
a[i]=a[i]+b[i];
}
printf("\n\nla Suma es\t");
for(int i=0;i<tv;i++){
printf("[%d]%d\t",i,a[i]);
}
break;
case 2: int f,c;
printf("\nCuantas filas tiene la matriz ");
scanf("%d",&f);
printf("Cuantas columnas tiene la matriz ");
scanf("%d",&c);
int d[f][c],e[f][c];
for(int i=0;i<f;i++){
for(int j=0;j<c;j++){
printf("Dame los valores de la matriz 1 [%d][%d] ",i,j);
scanf("%d",&d[i][j]);
}
}
for(int i=0;i<f;i++){
for(int j=0;j<c;j++){
printf("Dame los valores de la matriz 2 [%d][%d] ",i,j);
scanf("%d",&e[i][j]);
}
}
for(int i=0;i<f;i++){
for(int j=0;j<c;j++){
d[i][j]=d[i][j]+e[i][j];
}
}
printf("\n\nLa suma de matrices es\n");
for(int i=0;i<f;i++){
for(int j=0;j<c;j++){
printf("%d\t",d[i][j]);
}
printf("\n");
}
break;
case 3: int n,m,t,q;
do{
printf("\nDame el numero de filas de la matriz A ");
scanf("%d",&n);
printf("Dame el numero de columnas de la matriz A ");
scanf("%d",&m);
printf("\nDame el numero de filas de la matriz B ");
scanf("%d",&t);
printf("Dame el numero de columnas de la matriz B ");
scanf("%d",&q);
}while(m!=t);
int A[n][m],B[t][q],C[n][q];
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
printf("Dame los valores de la matriz A[%d][%d] ",i,j);
scanf("%d",&A[i][j]);
}
}
for(int i=0;i<t;i++){
for(int j=0;j<q;j++){
printf("Dame los valores de la matriz B[%d][%d] ",i,j);
scanf("%d",&B[i][j]);
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
C[i][j]=0;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<q;j++){
for( int k=0;k<m;k++){
C[i][j]=C[i][j]+(A[i][k]*B[k][j]);
}
}
}
printf("\n\nLa Multiplicacion de Matrices es\n\n");
for(int i=0;i<n;i++){
for(int j=0;j<q;j++){
printf("%d\t",C[i][j]);
}
printf("\n");
}
break;
}
}while(x<1&&x>4);
getchar();
}

el programa creo esta bien el compilador no me marca error. Pero cuando realiza todas las cosas que debe hacer me envia en mensaje "el programa dejo de funcionar "
En realidad no se porque sale esto espero me ayuden.
  #2 (permalink)  
Antiguo 22/03/2013, 11:42
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: El programa dejo de funcionar

Por qué no usas las etiquetas para encerrar el código C y colocas tabulaciones / espacios para separar cada bloque de código? Así podremos leer mejor
  #3 (permalink)  
Antiguo 22/03/2013, 13:51
Avatar de ArkangelGammar  
Fecha de Ingreso: enero-2011
Ubicación: <?php $persona->ubicacion('ArkangelGammar'); ?>
Mensajes: 179
Antigüedad: 13 años, 3 meses
Puntos: 19
Respuesta: El programa dejo de funcionar

¿Con cual de las opciones te esta fallando?
__________________
"No entiendes algo al menos que seas capaz de explicarselo a tu abuela.
Cada dia sabemos mas....y entendemos menos...."

A. Einstein - Genio mas alla de la razon.
  #4 (permalink)  
Antiguo 23/03/2013, 18:41
 
Fecha de Ingreso: marzo-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: El programa dejo de funcionar

me manda ese mensaje despues de dar la solucion de la 3. Multipicacion de matrices me dice "El prgrama dejo se Funcionar"y se cierra el prigrama.

Ya le pregunte a mi profe y dice que algo debe estar mal en mi codigo porque no deberia pasar eso
  #5 (permalink)  
Antiguo 23/03/2013, 18:57
 
Fecha de Ingreso: marzo-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: El programa dejo de funcionar

Código C:
Ver original
  1. #include<stdio.h>
  2. main(){
  3. int x;
  4. do{
  5. printf("\tSeleciona una opcion\n\n");
  6. printf("1. Suma de Vectores\n");
  7. printf("2. Suma de Matrices\n");
  8. printf("3. Multiplicacion de Matrices\n");
  9. printf("4. Salir\n\n");
  10. printf("Opcion=> ");
  11. scanf("%d",&x);
  12. switch(x){
  13. ////////////////////////////////////////////////
  14. case 1:int tv;
  15. printf("Dame el tamaño del vector\t");
  16. scanf("%d",&tv);
  17. int a[tv],b[tv];
  18. for(int i=0;i<tv;i++){
  19. printf("Dame los elementos del vector 1[%d] ",i);
  20. scanf("%d",&a[i]);
  21. }
  22. for(int i=0;i<tv;i++){
  23. printf("Dame los elementos del vector 2[%d] ",i);
  24. scanf("%d",&b[i]);
  25. }
  26. for(int i=0;i<tv;i++){
  27. a[i]=a[i]+b[i];
  28. }
  29. printf("\n\nla Suma es\t");
  30. for(int i=0;i<tv;i++){
  31. printf("[%d]%d\t",i,a[i]);
  32. }
  33. break;
  34.  
  35.  
  36.  
  37. //////////////////////////////////////////////////////////////////////////////////////////
  38. case 2: int f,c;
  39. printf("\nCuantas filas tiene la matriz ");
  40. scanf("%d",&f);
  41. printf("Cuantas columnas tiene la matriz ");
  42. scanf("%d",&c);
  43. int d[f][c],e[f][c];
  44. for(int i=0;i<f;i++){
  45. for(int j=0;j<c;j++){
  46. printf("Dame los valores de la matriz 1 [%d][%d] ",i,j);
  47. scanf("%d",&d[i][j]);
  48. }
  49. }
  50. for(int i=0;i<f;i++){
  51. for(int j=0;j<c;j++){
  52. printf("Dame los valores de la matriz 2 [%d][%d] ",i,j);
  53. scanf("%d",&e[i][j]);
  54. }
  55. }
  56. for(int i=0;i<f;i++){
  57. for(int j=0;j<c;j++){
  58. d[i][j]=d[i][j]+e[i][j];
  59. }
  60. }
  61. printf("\n\nLa suma de matrices es\n");
  62. for(int i=0;i<f;i++){
  63. for(int j=0;j<c;j++){
  64. printf("%d\t",d[i][j]);
  65. }
  66. printf("\n");
  67. }
  68. break;
  69.  
  70.  
  71.  
  72. //////////////////////////////////////////////////////////////////////////////////
  73. case 3: int n,m,t,q;
  74.             do{
  75.                   printf("\nDame el numero de filas de la matriz A ");
  76.                   scanf("%d",&n);
  77.                   printf("Dame el numero de columnas de la matriz A ");
  78.                   scanf("%d",&m);
  79.                   printf("\nDame el numero de filas de la matriz B ");
  80.                   scanf("%d",&t);
  81.                   printf("Dame el numero de columnas de la matriz B ");
  82.                   scanf("%d",&q);
  83.                  }while(m!=t);
  84.                  int A[n][m],B[t][q],C[n][q];
  85.                  for(int i=0;i<n;i++){
  86.                    for(int j=0;j<m;j++){
  87.                      printf("Dame los valores de la matriz A[%d][%d] ",i,j);
  88.                      scanf("%d",&A[i][j]);
  89.                     }
  90.                   }
  91.                  for(int i=0;i<t;i++){
  92.                   for(int j=0;j<q;j++){
  93.                    printf("Dame los valores de la matriz B[%d][%d] ",i,j);
  94.                    scanf("%d",&B[i][j]);
  95.                   }
  96.                 }
  97.                 for(int i=0;i<n;i++){
  98.                  for(int j=0;j<m;j++){
  99.                    C[i][j]=0;
  100.                   }
  101.                  }
  102.                for(int i=0;i<n;i++){
  103.                  for(int j=0;j<q;j++){
  104.                   for( int k=0;k<m;k++){
  105.                     C[i][j]=C[i][j]+(A[i][k]*B[k][j]);
  106.                    }
  107.                  }
  108.                 }
  109.                printf("\n\nLa Multiplicacion de Matrices es\n\n");
  110.                for(int i=0;i<n;i++){
  111.                  for(int j=0;j<q;j++){
  112.                    printf("%d\t",C[i][j]);
  113.                  }
  114.                printf("\n");
  115.               }
  116.              break;
  117.        }//fin switch
  118. }while(x<1&&x>4);
  119. }
  #6 (permalink)  
Antiguo 24/03/2013, 04:32
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: El programa dejo de funcionar

Quita el ultimo break del switch, no hace falta. Lo unico que hará es que salga del while y el programa se cierre porque llegas al final.

Lo de que"el programa tuvo un error" es porque el main() debe ser int main():
Código C++:
Ver original
  1. int main()

Con un return 0; antes de la ultima llave. De lo contrario el sistema no tendrá forma de saber si el programa terminó bien o no.
  #7 (permalink)  
Antiguo 24/03/2013, 15:27
 
Fecha de Ingreso: marzo-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: El programa dejo de funcionar

Cita:
Iniciado por amchacon Ver Mensaje
Quita el ultimo break del switch, no hace falta. Lo unico que hará es que salga del while y el programa se cierre porque llegas al final.

Lo de que"el programa tuvo un error" es porque el main() debe ser int main():
Código C++:
Ver original
  1. int main()

Con un return 0; antes de la ultima llave. De lo contrario el sistema no tendrá forma de saber si el programa terminó bien o no.
Tenes razon amchacon la lo arregel y ya no me sale eso gracias por sus comentarios

Etiquetas: funcion, funcionar, int, matriz, programa, salir
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




La zona horaria es GMT -6. Ahora son las 14:45.