You are on page 1of 2

/*En este programa se quiere buscar la fila

de una matriz real que tiene la mxima


suma de sus elementos
en valor absoluto. La matriz se genera con
nmeros aleatorios, las dimensiones de la
matriz se establecen
con una constante predefinida.
Para determinar la suma de una fila se
define la funcin sumar(), se la pasa la
direccin del primer
elemento de la fila para tratar cada fila
como una array unidimensional. Para
generar nmeros aleatorios
de tipo real, se divide el nmero que
devuelve la funcin rand() entre el valor
100.0.*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define F 6
#define C 10
#define V 100.0
void escribe_mat(int mt[][C]);
void gen_mat(int mt[][C]);
int sumar(int v[]);
int maximo(int mt[][C]);
int main()
{
int mat [F][C];
int fila;
srand (time (NULL)); /*inicializa semilla de
nmeros aleatorios*/
gen_mat(mat);
escribe_mat(mat);
fila = maximo(mat);
printf("\n\nFila cuya suma de elementos es
mayor: %d",fila);
return 0;
}
void gen_mat(int mat[][C])
{
int i,j;
for (i=0; i<F; i++)
for (j=0; j<C; j++)
mat[i][j]= rand()/V;
}
void escribe_mat(int mat[][C])
{
int i,j;
puts("\n\t\tMatriz analizada\n");
puts("\t\t\n");
for (i=0; i<F; i++)
{
for (j=0; j<C; j++)
printf("%d%c",mat[i][j],(j==C-1 ? "\n ":" "));
}
}
int sumar(int v[])
{
int i;

int s;
for (s=0.0,i=0; i<C; i++)
s += v[i];
return s;
}
int maximo(int mt[][C])
{
int mx;
int i,f;
mx = sumar(&mt[0][0]); /* direccin de
primera fila */
printf("\nSuma fila %d %d",0,mx);
for (f=0,i=1; i<F; i++)
{
int t;
t = sumar(&mt[i][0]);
printf("\nSuma fila %d %d",i,t);
if (t > mx)
{
mx = t;
f = i;
}
}
return f;
}

/*En este programa se quiere buscar la fila


de una matriz real que tiene la mxima
suma de sus elementos
en valor absoluto. La matriz se genera con
nmeros aleatorios, las dimensiones de la
matriz se establecen
con una constante predefinida.
Para determinar la suma de una fila se
define la funcin sumar(), se la pasa la
direccin del primer
elemento de la fila para tratar cada fila
como una array unidimensional. Para
generar nmeros aleatorios
de tipo real, se divide el nmero que
devuelve la funcin rand() entre el valor
100.0.*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define F 6
#define C 10
#define V 100.0
void escribe_mat(int mt[][C]);
void gen_mat(int mt[][C]);
int sumar(int v[]);
int maximo(int mt[][C]);
int main()
{
int mat [F][C];
int fila;
srand (time (NULL)); /*inicializa semilla de
nmeros aleatorios*/
gen_mat(mat);
escribe_mat(mat);
fila = maximo(mat);
printf("\n\nFila cuya suma de elementos es
mayor: %d",fila);
return 0;
}
void gen_mat(int mat[][C])
{
int i,j;
for (i=0; i<F; i++)

for (j=0; j<C; j++)


mat[i][j]= rand()/V;
}
void escribe_mat(int mat[][C])
{
int i,j;
puts("\n\t\tMatriz analizada\n");
puts("\t\t\n");
for (i=0; i<F; i++)
{
for (j=0; j<C; j++)
printf("%d%c",mat[i][j],(j==C-1 ? "\n ":" "));
}
}
int sumar(int v[])
{
int i;
int s;
for (s=0.0,i=0; i<C; i++)
s += v[i];
return s;
}
int maximo(int mt[][C])
{
int mx;
int i,f;
mx = sumar(&mt[0][0]); /* direccin de
primera fila */
printf("\nSuma fila %d %d",0,mx);
for (f=0,i=1; i<F; i++)
{
int t;
t = sumar(&mt[i][0]);
printf("\nSuma fila %d %d",i,t);
if (t > mx)
{
mx = t;
f = i;
}
}
return f;
}

You might also like