Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DAOST420 en 13 Octubre 2020, 03:46 am



Título: matriz en C nose como encarar el ejercicio se agradece la ayuda
Publicado por: DAOST420 en 13 Octubre 2020, 03:46 am
Se debe buscar el primer valor pasado dentro de la matriz en nuestro
ejemplo (elem) por fila y reemplazar por el otro valor pasado (elem2) como parámetro
Observar el ejemplo siguiente:
(http://<a href="https://imgbb.com/"><img src="https://i.ibb.co/xhY1GMc/matriz.jpg" alt="matriz" border="0"></a><br /><a target='_blank' href='https://imgbb.com/'>html imagen</a><br />)

https://ibb.co/8Mbr2jR


este es el codigo que tengo en C hasta ahora me me falta la ultima funcion en donde se deberia encontrar el numero 2 para despues cambiarlo  al numero 3.
si me pueden ayudar por favor se agradeceria, se que es con if y else pero nose como encarar bien el ejercicio.

Código
  1. #include <stdio.h>
  2. void mostrorigen(int [][5]);
  3. void mostrcamb(int [][5],int,int );
  4. int main()
  5. {
  6. int matri[5][5],f,c,elem;
  7. for (f=0;f<=4;f++)
  8. {
  9. for (c=0;c<=3;c++)
  10. {
  11. printf("Ingrese el elemento f%d , c%d ",f,c);
  12. scanf("%d",&matri[f][c]);}
  13. }
  14. mostrorigen(matri);
  15. mostrcamb(matri,2,3);
  16. for (f=0;f<=4;f++)
  17. {
  18. for (c=0;c<=4;c++)
  19. {
  20. printf("%d",matri[f][c]);
  21. }
  22. printf("\n");
  23. }
  24.  
  25. }
  26.  
  27.  
  28. void mostrorigen(int matri[][5])
  29. {
  30. int f,c;
  31.  
  32. for (f=0;f<=4;f++)
  33. { for (c=0;c<=3;c++)
  34. { printf("%d",matri[f][c]);
  35. }
  36. printf("\n");}
  37.  
  38. }
  39. void mostrcamb(int matri[][5],int elem, int elem1 )
  40. {
  41. int f,c;
  42. for(f=0;f<=4;f++)
  43. { for (c=0;c<=3;c++)
  44. }

MOD: Utiliza etiquetas de Código GeSHi


Título: Re: matriz en C nose como encarar el ejercicio se agradece la ayuda
Publicado por: UsuarioZ en 13 Octubre 2020, 05:33 am
Buenas, podes recorrer la matriz y cuando encuentres un 2 modificas eso por un 3, puede ser algo así (este es un ejemplo para una matriz de enteros cualquiera de 5fx5c):

Código
  1. void accion(int matriz[][5])
  2. {
  3.  
  4. int i,j;
  5.  
  6.  for(i = 0; i <= 4; i++)
  7.    for(j = 0; j <= 4; j++)
  8.      if(matriz[i][j] == 2)
  9.        matriz[i][j] = 3;
  10. }
  11.  

Para dos valores cualquiera, en lugar de 2 y 3, deberías pasarlos como parámetros y en lugar de poner 2 y 3 en el bloque de la función, pone el nombre de los parámetros  antes de pasarlos tomándolos como entrada o inicializando las variables que vas a pasar como parámetros actuales, lo importante seria que estén inicializados.

Código
  1. void accion(int matriz[][5], int ent1, int ent2)
  2. {
  3.  
  4. int i,j;
  5.  
  6.  for(i = 0; i <= 4; i++)
  7.    for(j = 0; j <= 4; j++)
  8.      if(matriz[i][j] == ent1)
  9.        matriz[i][j] = ent2;
  10. }
  11.  


Título: Re: matriz en C nose como encarar el ejercicio se agradece la ayuda
Publicado por: DAOST420 en 13 Octubre 2020, 09:01 am
Muchas gracias amigo se agradece ahora lo pude entender.


Título: Re: matriz en C nose como encarar el ejercicio se agradece la ayuda
Publicado por: K-YreX en 13 Octubre 2020, 18:08 pm
Se debe buscar el primer valor pasado dentro de la matriz en nuestro
ejemplo (elem) por fila y reemplazar por el otro valor pasado (elem2) como parámetro
Cuidado ya que tienes que cambiar el primer valor y la respuesta que te ha dado @UsuarioZ te cambiaría todos los valores que coincidan con ese. Tendrás que modificarlo un poco y eso te toca hacerlo a ti... :rolleyes:

Suerte.  :-X