SANDPIPERS CLAN
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

SOMA DE MATRIZES

Ir para baixo

SOMA DE MATRIZES Empty SOMA DE MATRIZES

Mensagem por VonDuke Dom Set 01, 2013 3:43 pm

//Fazer um programa para i) ler duas matrizes NxM; ii) calcular a soma dessas matrizes; iii)imprimir as matrizes e a soma. P.s= usar funções//

#include <stdio.h>
#include <stdlib.h>
float** aloca_matriz(int n, int m);
void ler_matriz(int n, int m, float **a);
void imp_matriz(int n, int m, float **a);
void soma_matriz(int n, int m, float **a, float**b, float **s);

int main(void)
{
int n, m, i;
float **a, **b, **s;
printf("leitura das dimensões\n");
scanf("%d%d", &n, &m);
printf("alocaçao da memoria das matrizes\n");
a=aloca_matriz(n,m);
b=aloca_matriz(n,m);
s=aloca_matriz(n,m);
printf("leitura das matrizes\n");
ler_matriz(n,m,a);
ler_matriz(n,m,b);
printf("soma das matriz\n");
soma_matriz(n,m,a,b,s);
printf("impressao das matrizes\n");
imp_matriz(n,m,a);
printf("\n");
imp_matriz(n,m,b);
printf("\n");

printf("impressao da matrize soma\n");
imp_matriz(n,m,s);
printf("desalocar memoria\n");
for(i=0;i<n;i++)
{
free(a[i]);
free(b[i]);
free(s[i]);
}
free(a);
free(b);
free(s);
system("pause");
return 0;
}





float** aloca_matriz(int n, int m)
{
int i;
float **a;
a=(float **)malloc(n*sizeof(float *));
if(a==NULL)
{
printf("alocaçao falhou\n");
exit (1);
}
for(i=0;i<n;i++)
{
a[i]=(float *)malloc(n*sizeof(float));
if(a[i]==NULL)
{
printf("alocaçao falhou\n");
exit (1);
}
}
return a;
}

void ler_matriz(int n, int m, float **a)
{
int i, j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%f", &a[i][j]);
}
}
}

void soma_matriz(int n, int m, float **a, float **b, float **s)
{
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
s[i][j]=a[i][j]+b[i][j];
}
}
}

void imp_matriz(int n, int m, float **a)
{
int i, j;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%f ", a[i][j]);
}
printf("\n");
}
}
VonDuke
VonDuke
Esperto
Esperto

Mensagens : 74
Data de inscrição : 30/11/2010

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos