rafael11
-
Total de itens
6 -
Registro em
-
Última visita
Posts postados por rafael11
-
-
Não funcionou, o programa continua da mesma forma de antes.
-
Não, a soma será realizada á cada 3 posições da Matriz, ou seja, será "7+0+0=7 2+4+5=11 0+1+4=5 " e assim por diante.
Pra exemplificar melhor será assim
M[0][0]+M[0][3]+M[0][6] = 7+0+0
M[0][1]+M[0][4]+M[0][7] = 2+4+5
M[0][2]+M[0][5]+M[0][8] = 0+1+4
Isso vai acontecer em todas as linhas
-
não to entendendo...
...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:...
você se ta explicando muito mal.
Conforma você esta falando o que da para entender é que na primeira linha "7 2 0 0 4 1 0 5 4" eu pego o "720" e faço 7+2+0. É isso? Ou é 720+041+ 054?? Em todo caso isso não bate com seu resultado, por isso pergunto.
Si nos esclarecer isso podemos te ajudar.
-
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
97 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 1No 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"); } }
-
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
97 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 1No 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"); } }
Problema ao somar elementos de diferentes posições de uma Matriz
em C, C++
Postado
Eu consegui ajustar o trecho do laço que estava com problemas ficou assim
Valeu mesmo pela ajuda vangodp muito obrigado mesmo!!!