Traza De Una Matriz
Enviado por cris23 • 6 de Noviembre de 2012 • 426 Palabras (2 Páginas) • 408 Visitas
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAXFIL 5
#define MAXCOL 5
#define LIMINF 10
#define LIMSUP 60
void genmat(int [][MAXCOL],int,int);
void impmat(int [][MAXCOL],int,int);
int mayormat(int [][MAXCOL],int,int, int *, int *);
int traza(int [][MAXCOL],int);
int main(int argc, char *argv[])
{
int mat[MAXFIL][MAXCOL], posfmay, poscmay, valmayor;
srand(time(NULL));
genmat(mat,MAXFIL,MAXCOL);
impmat(mat,MAXFIL,MAXCOL);
valmayor = mayormat(mat,MAXFIL,MAXCOL,&posfmay,&poscmay);
printf("\nEl mayor es %d (%d,%d)\n",valmayor,posfmay,poscmay);
printf("\nLa traza es %d\n",traza(mat,MAXFIL));
system("pause");
return 0;
}
void genmat(int matriz[][MAXCOL],int fil, int col)
{
int ind1,ind2;
for ( ind1 = 0; ind1 < fil; ind1++ )
{
for( ind2 = 0; ind2 < col; ind2 ++ )
matriz[ind1][ind2] = rand() % (LIMSUP - LIMINF + 1) + LIMINF;
}
return;
}
void impmat(int matriz[][MAXCOL],int fil, int col)
{
int ind1,ind2;
for ( ind1 = 0; ind1 < fil; ind1++ )
{
for( ind2 = 0; ind2 < col; ind2 ++ )
{
printf("%4d ",matriz[ind1][ind2]);
}
printf("\n");
}
return;
}
int mayormat(int matriz[][MAXCOL],int fil, int col,int *pfmay, int *pcmay)
{
int ind1,ind2,mayor = matriz[0][0];
*pfmay = 0;
*pcmay = 0;
for ( ind1 = 0; ind1 < fil; ind1++ )
{
for( ind2 = 0; ind2 < col; ind2 ++ )
{
if ( mayor < matriz[ind1][ind2] )
{
mayor = matriz[ind1][ind2];
*pfmay = ind1;
*pcmay = ind2;
}
}
}
return mayor;
}
int traza(int matriz[][MAXCOL],int fil)
{
int traza = 0, ind;
for ( ind = 0; ind < fil; ind ++ )
traza += matriz[ind][ind];
return traza;
}
...