Bem, eu estou com um problema ao manipular uma matriz formada a partir de um arquivo de texto, certo o meu programa inicia certinho os dados do arquivo são armazenados na matriz com isso não tenho nenhuma dificuldade o que eu realmente estou tendo problema é com a soma dos elementos da matriz que deve ser realizados a cada 3 posições na mesma linha e logo após sendo inserido em uma matriz auxiliar aqui está o arquivo:
Pergunta
rafael11
Bem, eu estou com um problema ao manipular uma matriz formada a partir de um arquivo de texto, certo o meu programa inicia certinho os dados do arquivo são armazenados na matriz com isso não tenho nenhuma dificuldade o que eu realmente estou tendo problema é com a soma dos elementos da matriz que deve ser realizados a cada 3 posições na mesma linha e logo após sendo inserido em uma matriz auxiliar aqui está o arquivo:
7
9
7 2 0 0 4 1 0 5 4
0 8 9 2 3 0 2 1 3
4 0 6 2 8 5 0 2 1
1 1 3 2 0 6 0 0 5
0 3 2 2 2 5 1 1 2
2 1 6 7 4 0 5 7 0
1 9 5 3 2 6 0 2 1
No caso o resultado das somas da matriz principal que seria este resultado apresentado na matriz auxiliar:
| 7 |11| 5 |
| 4 |12|12|
| 6 |10|12|
| 3 | 1 |14|
| 3 | 6 | 9 |
|14|12| 6 |
| 4 |13|12|
Quem poder me ajudar estarei muito agradecido
Aqui o programa:
#include <stdio.h> #include <stdlib.h> #define MAX 100 int main() { int M[MAX][MAX],i=0,i1=0,i2=0,j1=0,j=0,l,c,S[7][3],soma; FILE *arq; arq=fopen("text.txt", "r"); printf("digite as dimensoes da Matriz:"); scanf("%d%d",&l,&c); for(i=0; i<l; i++) { for(j=0; j<c; j++) { fscanf(arq,"%d",&M[i][j]); } } printf("\n"); printf("MATRIZ INICIAL\n\n"); for(i=0; i<l; i++) { for(j=0; j<c; j++) { printf("%d ",M[i][j]); } printf("\n"); } for(i=0; i<l; i++)//laço que pula a linha da matriz { for(j=0; j<c; j++)//laço que permanece em determinada coluna { soma=0; for(i1=0; i1<c; i1=i1+3)//laço que soma os valores a cada 3 posições { soma+=M[i][i1];//soma os elementos } for(i2=0; i2<l; i2++) { for(j1=0; j1<3; j1++) { S[i2][j1]=soma;//armazena em outra matriz } } } } printf("\n"); printf("TABELA FORMADA A PARTIR DA MATRIZ INICIAL\n\n"); for(i=0; i<l; i++) { for(j=0; j<3; j++) { printf("%d ",S[i][j]); } printf("\n"); } }Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.