Ir ao conteúdo
  • Cadastre-se

Ponteiros


megghaz

Posts recomendados

Observe os comentários!

Este código pode ser melhorado. Ele está funcional apenas para matrizes quadradas.


#include <stdio.h>

struct matriz{
int *M;
int iM, jM;
};

struct matriz R;

void SomaMatrizes(struct matriz, struct matriz);

int main()
{
int i, j, a;
struct matriz A, B;

printf("Quantas linhas tem a matriz A? ");
scanf("%i", &A.iM);

printf("Quantas colunas tem a matriz A? ");
scanf("%i", &A.jM);

printf("Quantas linhas tem a matriz B? ");
scanf("%i", &B.iM);

printf("Quantas colunas tem a matriz B? ");
scanf("%i", &B.jM);

A.M = (int*) calloc(A.iM * A.jM, sizeof(int));
B.M = (int*) calloc(B.iM * B.jM, sizeof(int));

// Estou supondo que a matriz seja quadrada
R.M = (int*) calloc(A.iM * A.jM, sizeof(int));

printf("\n\n");

for(j=0, a=0; j<A.jM; j++)
for(i=0; i<A.iM; i++)
{
printf("Digite o valor do elemento (%i,%i) da matriz A: ", i+1, j+1);
scanf("%i", &A.M[a++]);
}

printf("\n\n");

for(j=0, a=0; j<B.jM; j++)
for(i=0; i<B.iM; i++)
{
printf("Digite o valor do elemento (%i,%i) da matriz B: ", i+1, j+1);
scanf("%i", &B.M[a++]);
}

// Você pode criar uma função LerMatriz e substituir o código acima
SomaMatrizes(A, ;

// Crie uma função MostrarMatriz e apague o código abaixo
// Estou supondo que a matriz seja quadrada
for(j=0, a=0; j<A.jM; j++)
{
printf("\n");
for(i=0; i<A.iM; i++)
{
printf("%i\t", R.M[a]);
a++;
}
}

// Libera a memória
free(A.M);
free(B.M);
free(R.M);

return 0;
}

void SomaMatrizes(struct matriz A, struct matriz
{
int i, j, a = 0;

// Primeiro precisa testar se as matrizes podem ser somadas
//...

// Estou supondo que a matriz seja quadrada
for(j=0; j<A.jM; j++)
for(i=0; i<A.iM; i++)
{
R.M[a] = A.M[a] + B.M[a];
a++;
}

//... a função poderia retornar uma matriz ao invés de armazenar o resultado numa matriz global, assim o código ficaria mais flexível
}

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!