Cita de: diegox474 en 12 Mayo 2020, 18:48 PM
necesito hacer un algoritmo que pueda leer una matriz sacar todos los componentes de la diagonal cambiarlos por 1 y guardarlos en otro vector.
hasta ahora lo que tengo es que imprime los valores de la diagonal, el problema es que no se como cambiar los valores por 1 y guardarlos en el otro arreglo
#include <stdio.h>
#include <stdlib.h>
void diagonal(int matriz[100][100]);// se declara 100 para darle el tamaño suficiente al usuario de poner la amtriz por las dimensiones que necesite
int main()
{
int filas, columnas ,i,j;
int matriz[100][100]={0};
printf("INGRESE EL NUMERO DE FILAS PARA SU MATRIZ CUADRADA:");
scanf("%d",&filas);
printf("INGRESE EL NUMERO DE COLUMNAS PARA SU MATRIZ CUADRADA:");
scanf("%d",&columnas);
for(i=0;i<filas;i++)
{
for(j=0;j<columnas;j++) // se llena la matriz
{
printf("INGRESE VALORES DE LA MATRIZ[%d , %d]: ",i,j);
scanf("%d",&matriz[j]);
}
}
for(i=0;i<filas;i++)
{
for(j=0;j<columnas;j++)
{
printf("%d",matriz[j]); // se imprim la matriz
}
printf("\n");
}
diagonal(matriz); // invoco la funcion
return 0;
}
void diagonal(int matriz[100][100]) // esta es la funcion en donde encuentro la diagonal
{
int i,filas,columnas;
printf("EL VALOR DE LA DIAGONAL ES\n");
for(i=0;i<columnas;i++) // se pueden colocar filas o columnas ya que se tomara la misma .. mirar abajo en el printf.
{
printf("%d ",matriz);
}
printf("\n");
}