Matriz Que vuelva las diagonales 1 con funciones

Iniciado por juand.0203, 2 Octubre 2015, 04:02 AM

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

juand.0203

Hola a todos

Necesito saber como pasar una matriz el programa consiste en que el usuario ingrese la cantidad del tamaño de la Matriz (siempre sera cuadrada) y el programa imprima la matriz original y despues una matriz la cual sus dos diagonales sean 1

Este es el codigo que tengo hasta el momento:

#include<stdio.h>
void ingresematriz(int n,int A[]);
void Imprimir(int i, int n, int A[],int j,int g, int h);

main()
{
int n,A[n][n],h,i,j,k,g;
ingresematriz(n,A);
Imprimir(i,n,A,j,g,h);

}
void ingresematriz(int n,int A[])
{

printf("ingrese el tamaño de la matriz: ");
scanf("%d",&n);
int A[n][n];

}
void Imprimir(int i, int n, int A[],int j,int g, int h)
{
for (int i=0;i<n;i++)
   {
      for (int j=0;j<n;j++)
    { 
         printf("valor de la columna %d, y la fila %d: ",j,i);// j es columna, i es fila
         scanf("%d",&A[j]);
      }
      printf("\n");
   }
   
for (int i=0;i<n;i++)
   {
      for (int j=0;j<n;j++)
      {
printf("%d\t",A[j]);
   }
   printf("\n");
   } 
   
      printf("\n");
    printf("la matriz modificada es: \n");
      printf("\n");
      
   for (int i=0;i<n;i++)
   {
      for (int j=0;j<n;j++)
      {
    if(i==j)
     {
     A[j]=1;
     printf("%d\t",A[j]);
    }
    else
    {
       g=i+j;
       h=g+1;
     if (h==n)
     {
      A[j]=1;
       printf("%d\t",A[j]);
     }
     else
     {
         printf("%d\t",A[j]);
     }    
    }
   
   }
   printf("\n");
   } 
}