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


 


Tema destacado: ¿Usas Skype? Protégete de los Skype Resolver


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Problema con mostrar elementos de la matriz
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con mostrar elementos de la matriz  (Leído 386 veces)
Rhythmical

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Problema con mostrar elementos de la matriz
« en: 10 Septiembre 2017, 06:09 »

Buenos días a todos/as, soy nuevo en este foro y tambien en el mundo de la programación C. Pues tengo un problema con mostrar la matriz en una funcion void, ya que al compilar solamente me muestra la primera función pero la segunda solo el printf del comienzo y lo demás no aparece, quisiera saber cual es el problema. Este
 Como veran este el código, por lo cual nose a que se debe esto.

Código:
#include<stdio.h>
#include<stdlib.h>

void charge(int matrix[50][50], int M, int N);
void show(int matrix[50][50], int M, int N);
 main(void)
{
int matriz[50][50], M, N;

charge(matriz,M,N);
show(matriz, M, N);
}
void charge(int matrix[50][50], int M, int N)
{
   int i, j;
   printf("\n**INGRESE NRO DE FILAS **:\n");scanf("%d",&M);
   printf("\n**INGRESE NRO DE COLUMNAS**:\n");scanf("%d",&N);
   for(j=0;j<M;j++)
   {
    for(i=0;i<N;i++)
    {
    printf("\n**INGRESE UN VALOR SUPERIOR A CERO [%d][%d]**:\n",i,j);scanf("%d",&matrix[j][i]);   
}//for(i)
   }//for(J)
}//void

void show(int matrix[50][50], int M, int N)

{
   int i, j;
   
   printf("\n***MATRIZ MXN***\n");
   for(j=0;j<M;j++)
   {
    for(i=0;i<N;i++)
    {
    printf("|%d|", matrix[j][i]);
}//for(i)
printf("\n");
   }//for(J)
}//void

Espero su ayuda! Saludos cordiales!


En línea

dariodr01

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Problema con mostrar elementos de la matriz
« Respuesta #1 en: 10 Septiembre 2017, 16:32 »

Tu mismo programa arreglado.

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. void charge();
  5. void show();
  6. int matriz[50][50],M,N; //Aca puedes usar variables globales.
  7.  
  8. int main()
  9. {
  10. charge();
  11. show();
  12.  
  13. return 0;
  14. }
  15.  
  16. void charge()
  17. {
  18. int i, j;
  19.  
  20. printf("\n**INGRESE NRO DE FILAS **:\n");scanf("%d",&M);
  21. printf("\n**INGRESE NRO DE COLUMNAS**:\n");scanf("%d",&N);
  22.  
  23. for(i=0; i<M; i++)
  24. {
  25. for(j=0; j<N; j++) {
  26. printf("\n**INGRESE UN VALOR SUPERIOR A CERO [%d][%d]**:\n",i,j);
  27. scanf("%d",&matriz[i][j]);
  28. }
  29. }
  30. }
  31.  
  32. void show()
  33. {
  34. int i, j;
  35.  
  36. printf("\n***MATRIZ MXN***\n");
  37.  
  38. for(i=0; i<M; i++)
  39. {
  40. for(j=0; j<N; j++)
  41. printf("%d ", matriz[i][j]);
  42.  
  43. printf("\n");
  44. }
  45. }
  46.  
  47.  


En línea

Rhythmical

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Problema con mostrar elementos de la matriz
« Respuesta #2 en: 10 Septiembre 2017, 18:21 »

Hola, muchas gracias por ayudarme. Aunque tambien quería saber cual era mi problema, me he fijado en algunos ejercicios mios y me he dado cuenta de un pequeño detalle y lo que me faltaba era declarar el & en las variables M y N.

Osea, que de así:
Código:
void charge(int matriz[50][50],int M,int N);
void show(int matriz[50][50],int M,int N;

quedaría así:
Código:
void charge(int matriz[50][50],int &M,int &N);
void show(int matriz[50][50],int &M,int &N;

Pido disculpas por no darme cuenta antes, pero igual gracias por la ayuda.
« Última modificación: 10 Septiembre 2017, 18:30 por Rhythmical » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines