matriz en C nose como encarar el ejercicio se agradece la ayuda

Iniciado por DAOST420, 13 Octubre 2020, 03:46 AM

0 Miembros y 1 Visitante están viendo este tema.

DAOST420

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:


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.


#include <stdio.h>
void mostrorigen(int [][5]);
void mostrcamb(int [][5],int,int );
int main()
{
int matri[5][5],f,c,elem;
for (f=0;f<=4;f++)
{
for (c=0;c<=3;c++)
{
printf("Ingrese el elemento f%d , c%d ",f,c);
scanf("%d",&matri[f][c]);}
}
mostrorigen(matri);
mostrcamb(matri,2,3);
for (f=0;f<=4;f++)
{
for (c=0;c<=4;c++)
{
printf("%d",matri[f][c]);
}
printf("\n");
}

}


void mostrorigen(int matri[][5])
{
int f,c;

for (f=0;f<=4;f++)
{ for (c=0;c<=3;c++)
{ printf("%d",matri[f][c]);
}
printf("\n");}

}
void mostrcamb(int matri[][5],int elem, int elem1 )
{
int f,c;
for(f=0;f<=4;f++)
{ for (c=0;c<=3;c++)
}


MOD: Utiliza etiquetas de Código GeSHi

UsuarioZ

#1
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):


void accion(int matriz[][5])
{

int i,j;

 for(i = 0; i <= 4; i++)
   for(j = 0; j <= 4; j++)
     if(matriz[i][j] == 2)
       matriz[i][j] = 3;
}


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.


void accion(int matriz[][5], int ent1, int ent2)
{

int i,j;

 for(i = 0; i <= 4; i++)
   for(j = 0; j <= 4; j++)
     if(matriz[i][j] == ent1)
       matriz[i][j] = ent2;
}

DAOST420

Muchas gracias amigo se agradece ahora lo pude entender.

K-YreX

Cita de: 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
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
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;