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

matris llenado y mostrado con funciones

Estas en el tema de matris llenado y mostrado con funciones en el foro de C/C++ en Foros del Web. hola soy nueva en eeste foro ando buscando ayuda con un programa aunque no esta completo teoricamente deveria ya funcionar asi por que solo estoy ...
  #1 (permalink)  
Antiguo 24/02/2015, 14:32
 
Fecha de Ingreso: febrero-2015
Mensajes: 4
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta matris llenado y mostrado con funciones

hola soy nueva en eeste foro ando buscando ayuda con un programa aunque no esta completo teoricamente deveria ya funcionar asi por que solo estoy rellennado y mostrando una matris con funciones mi problema es q comiensa a correr pero al querer introducucir los valores de la matris se vota mi rograma algien me puede decir por que sucede y como solucionarlo se los gradesco antisipadamente
  #2 (permalink)  
Antiguo 24/02/2015, 14:33
 
Fecha de Ingreso: febrero-2015
Mensajes: 4
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: matris llenado y mostrado con funciones

Cita:
Iniciado por goyito_max Ver Mensaje
hola soy nueva en eeste foro ando buscando ayuda con un programa aunque no esta completo teoricamente deveria ya funcionar asi por que solo estoy rellennado y mostrando una matris con funciones mi problema es q comiensa a correr pero al querer introducucir los valores de la matris se vota mi rograma algien me puede decir por que sucede y como solucionarlo se los gradesco antisipadamente
  #3 (permalink)  
Antiguo 24/02/2015, 15:05
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: matris llenado y mostrado con funciones

Pues el error está en el código.
__________________
Grupo Telegram Docker en Español
  #4 (permalink)  
Antiguo 24/02/2015, 15:07
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: matris llenado y mostrado con funciones

Cita:
Iniciado por Carlangueitor Ver Mensaje
Pues el error está en el código.
Yo creo que su problema es que no esta usando la RAM adecuada.
  #5 (permalink)  
Antiguo 24/02/2015, 15:37
 
Fecha de Ingreso: febrero-2015
Mensajes: 4
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: matris llenado y mostrado con funciones

pero no se donde pueda estra el error disculpen soy muy mala en programacion
este es el programa:

Código C:
Ver original
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. int i,j;
  5. void llenar(int f,int c,int x[][10]);
  6. void mostrar(int f,int c,int x[][10]);
  7. main ()
  8. {
  9.      char op;
  10.      int a[10][10]={'\0'},i,j,k,temp,nf,nc;
  11.      printf("Que tamaño tiene la matriz:\na = 2x2\nb =3x3\n");
  12.      printf("\ndame tu opcion\n");
  13.      scanf("%c",&op);
  14.       switch(op)
  15.       {
  16.         case 'a':
  17.         case 'A':
  18.              {
  19.                 printf("\nseleccionastes una matriz de 2x2\n");
  20.                  printf("\ndame el numero de fila y comulumnas de la matriz:\n");
  21.                  scanf("%d%d",&nf,&nc);
  22.                  {
  23.                     printf("\nllenando la matriz x:\n");
  24.                     void llenar(int nf,int nc,int a[][10]);
  25.                   }
  26.               }
  27.                void mostrar(int nf,int nc,int a[][10]);    
  28.         break;          
  29.         case 'b':
  30.         case 'B':
  31.                 printf("\nsleccionastes una matriz de 3x3\n");    
  32.                 printf("\ndame el numero de fila y comulumnas de la matriz:\n");
  33.                  scanf("%d%d",&nf,&nc);
  34.                  {
  35.                   printf("\nllenando la matriz x\n");
  36.                    void llenar(int nf,int nc,int a[][10]);
  37.                    }
  38.           void mostrar(int nf,int nc,int a[][10]);
  39.          break;          
  40.      }            
  41.      getch ();
  42.      return 0;
  43. }
  44.         void llenar(int f,int c,int x[][10])
  45. {
  46.          for(i=0;i<f;i++)
  47.         for (j=0;j<c;j++)
  48.         {
  49.             printf("x[%d][%d]=",i,j);
  50.             scanf("%d",&x[i][j]);
  51.         }
  52.        
  53.  }
  54.          void mostrar(int f,int c,int x[][10])
  55. {
  56.    printf("\nla matriz es:\n");
  57.           for(i=0;i<f;i++)
  58.        {
  59.         for (j=0;j<c;j++)
  60.         printf("%d\t",x[i][j]);
  61.         printf("\n");
  62.        }
  63. }

Última edición por razpeitia; 24/02/2015 a las 15:52
  #6 (permalink)  
Antiguo 24/02/2015, 17:27
Avatar de xKuZz  
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 2 meses
Puntos: 27
Respuesta: matris llenado y mostrado con funciones

Aquí tienes tu código resuelto con los fallos indicados, algunos consejos y un poquito más organizado, cualquier duda que tengas sigue consultándola en el foro

Código C++:
Ver original
  1. #include<stdio.h>
  2. // #include <math.h> -> Inncesario para el programa que estás ejecutando
  3. // #include <conio.h> -> Lo he quitado porque en mi Ubuntu no tengo está cabecera, vuelve a ponerlo si deseas utilizar getch()
  4. // Intenta ser organizado sobre todo si estás empezando a programar, te ayudará a entender mejor las cosas
  5.  
  6. // Declaración de funciones globales
  7. int i,j; // Existe la posibilidad de poner int i=0 en los bucles for de tal manera que cuando se acabe el bucle la variable i desaparece.
  8.      // Yo soy más partidario de crear una i local para cada bucle pero no afecta en absoluto al funcionamiento de tu programa
  9.      // Mira luego abajo del todo en las definiciones
  10.  
  11. void llenar(int f,int c,int x[][10]);
  12. void mostrar(int f,int c,int x[][10]);
  13.  
  14. // Inicio del programa
  15. main () {
  16.      // Declaración/inicialización de variables
  17.      char op;
  18.      int a[10][10]={'\0'},i,j,k,temp,nf,nc;
  19.      
  20.      // E/S y Cómputo de datos
  21.      printf("Que tamaño tiene la matriz:\na = 2x2\nb =3x3\n");
  22.      printf("\ndame tu opcion\n");
  23.      scanf("%c",&op);
  24.       switch(op)
  25.       { /* Mejora 1: ¿Para qúe seleccionar opción si luego hay que introducir el número de filas y columnas? */
  26.     /* Mejora 2: Controla que en ningún momento 'nf' ni 'nc' supere el valor 10 ya que el máximo de valores para tu matriz con arrays es 10x10 */
  27.         case 'a':
  28.         case 'A':
  29.                 printf("\nseleccionastes una matriz de 2x2\n");
  30.                 printf("\ndame el numero de fila y columnas de la matriz:\n"); // Mejor "columnas" que "comulumnas"
  31.                 scanf("%d%d",&nf,&nc);
  32.                 printf("\nllenando la matriz x\n");
  33.                 llenar(nf, nc, a); // Al llamar las funciones no se pone el tipo de dato, tampoco el parámetro. Los tipos de datos
  34.             mostrar(nf, nc, a); // se ponen en la declaración (lo que tienes antes del main) y en la definición (lo que tienes después del main
  35.         // Al usar un array como parámetro actual (en este caso a, no se pone 'a[10][10]' o lo que corresponda, sólo 'a')
  36.         // Al usar un array como parametro formal (en la declaración y/o definición si se pone)
  37.         // Me he tomado la libertad de quitar muchos corchetes innecesarios
  38.         break;
  39.         case 'b':
  40.         case 'B':
  41.                 printf("\nsleccionastes una matriz de 3x3\n");     // Todo similar al caso A
  42.                 printf("\ndame el numero de fila y columnas de la matriz:\n");
  43.                 scanf("%d%d",&nf,&nc);
  44.                 printf("\nllenando la matriz x\n");
  45.                 llenar(nf, nc, a);
  46.             mostrar(nf, nc, a);
  47.          break;          
  48.      }      
  49. // Getch(); Lo quite porque no tengo la cabecera lo expliqué arriba del todo      
  50.      return 0;
  51.  
  52. } // Fin del programa
  53.  
  54. // Definición de funciones
  55.  
  56. void llenar(int f,int c,int x[][10]) { 
  57.     for(i=0;i<f;i++)        //Al acabarse i y j siguen existiendo
  58.         for (j=0;j<c;j++)
  59.         {
  60.             printf("x[%d][%d]=",i,j);
  61.             scanf("%d",&x[i][j]);
  62.         }
  63.        
  64.  }
  65. void mostrar(int f,int c,int x[][10]) {
  66.     printf("\nla matriz es:\n");
  67.         for(int i=0;i<f;i++)        //Al acabarse el bucle i y j dejan de existir
  68.         {
  69.         for (int j=0;j<c;j++)
  70.                 printf("%d\t",x[i][j]);
  71.             printf("\n");
  72.         }
  73. }
  #7 (permalink)  
Antiguo 24/02/2015, 17:29
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: matris llenado y mostrado con funciones

Claro, hazle la tarea, así ayudas mucho
__________________
Grupo Telegram Docker en Español
  #8 (permalink)  
Antiguo 24/02/2015, 17:37
 
Fecha de Ingreso: febrero-2015
Mensajes: 4
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: matris llenado y mostrado con funciones

muchas gracias la verdad si me ayudo mucho ya que gracias a esto podre seguir estudiando y mejorar cada dia mas, el programa no estaba completo de apartir de esto devo hacer que encuentre los eigevalores y eigevectores de una matris... graxias nuevamente saludos!!
  #9 (permalink)  
Antiguo 24/02/2015, 19:20
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: matris llenado y mostrado con funciones

Tengo una estricta política sobre las tareas, cada tema sobre tarea se cierra automáticamente.

¿Quieres que te hagan la tarea?
Que mal, aquí no es lugar para eso.

Etiquetas: funcion
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.
Tema Cerrado




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