1) Usando função, fazer um programa para calcular a soma de 2 matrizes de mesmo tamanho.
// *** supondo tamanho maximo 5x5 ***
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
// prototipando funcao
void preencher(int [5][5], int, int, char);
void impressao(int [5][5], int, int, char);
void somar(int [5][5],int [5][5], int, int);
//********************* funcao main **********************
void main()
{
int lin,col;
int matA[5][5],matB[5][5];
randomize();
clrscr();
do
{
printf("matriz de quantas linhas? (1 a 5) : ");
scanf("%d",&lin);
}
while(lin<1||lin>5);
do
{
printf("matriz de quantas colunas? (1 a 5) : ");
scanf("%d",&col);
}
while(col<1||col>5);
clrscr();
char m='A';
preencher(matA,lin,col,m); //chamando a funcao preencher
m='B';
preencher(matB,lin,col,m); //chamando a funcao preencher
somar(matA,matB,lin,col); //chamando a funcao somar
getch();
}
//******************* funcao preencher ********************
void preencher(int mat[5][5],int lin,int col,char m)
{
for(int l=0;l<lin;l++)
{
for(int c=0;c<col;c++)
{
mat[l][c]=rand()%6; // sorteia numeros de 0 a 5
}
}
impressao(mat,lin,col,m); //chamando a funcao impressao
}
//******************* funcao impressao ********************
void impressao(int mat[5][5],int lin, int col, char m)
{
printf("********** Imprimindo matriz %c **********\n",m);
for(int l=0;l<lin;l++)
{
for(int c=0;c<col;c++)
{
printf("%d ",mat[l][c]);
}
printf("\n");
}
printf("\n");
}
//******************* funcao somar ********************
void somar(int matA[5][5],int matB[5][5], int lin, int col)
{
int matC[5][5];
char m='C';
for(int l=0;l<lin;l++)
{
for(int c=0;c<col;c++)
{
matC[l][c]=matA[l][c]+matB[l][c];
}
}
impressao(matC, lin, col, m); //chamando a funcao impressao
}
|