Estou fazendo um trabalho de programação em C, usando o Codeblocks!
O trabalho consiste em criar ler uma matriz 5x5, efetuar a soma de todas as linhas e o resultado de cada linha jogar em uma posição em um vetor que deve ser criado, o mesmo para as colunas!
O programa funciona perfeitamente, mas quando mandou ele exibir o vetor das somas e das colunas, se eu colocar para mostrar o vetor das colunas primeiro, e vetor das linhas só mostra o valor 0 em todas as posições, o mesmo acontece se eu colocar o das linhas primeiro e o das colunas depois!
#include<stdio.h>
#include<stdlib.h>
#define N 5
int mat[N][N];
int vetcol[N], vetlin[N];
int linha, coluna, k=0, somalin=0, somacol=0;
int main(){
printf("\n\t\t\t Vamos montar a matriz 5 x 5!!!");
printf("\n\n");
matriz();
pula();
somalinha(); // AQUI OCORRE O BUG
pula();
somacoluna(); // AQUI OCORRE O BUG
pula();
mostramatriz();
pula();
return 0;
}
void matriz(){
//MONTA A MATRIZ
for(linha=0; linha<5; linha++){ // vai percorrer as linhas da matriz
for(coluna=0; coluna<5; coluna++){ // vai percorrer as colunas da matriz
printf("Digite o valor correnpondente a posicao %d x %d da matriz: ", linha+1, coluna+1);
scanf("%d", &mat[linha][coluna]);
}
}
}
void mostramatriz(){
//MOTRA A MATRIZ DIGITADA
printf("\t\t\t MATRIZ DIGITADA!! \n\n");
for(linha=0; linha<5; linha++){
for(coluna=0; coluna<5; coluna++){
printf("%d \t", mat[linha][coluna]);
}
printf("\n");
}
}
void somalinha(){
for(linha=0; linha<5; linha++){
for(coluna=0; coluna<5; coluna++){
somalin+=mat[linha][coluna];
}
vetlin[k]=somalin;
k++;
somalin=0;
}
printf("Vetor de soma das linhas: ");
for(k=0; k<5; k++){
printf("%d ", vetlin[k]);
}
}
void somacoluna(){
for(coluna=0; coluna<5; coluna++){ // primeiro loop, onde ele pega a coluna
for(linha=0; linha<5; linha++){ // segundo loop onde pega alinha e vai até o final antes de partir para próxima coluna
somacol+=mat[linha][coluna]; // atribui a variável SOMACOL o valor de SOMACOL + MAT[linha][coluna]
}
vetcol[k]=somacol; // atribui a variável VETCOL[k] o valor da SOMACOL
k++;
somacol=0;
}
printf("Vetor de soma das colunas: ");
for(k=0; k<5; k++){
printf("%d ", vetcol[k]);
}
}
void pula(){
printf("\n\n");
}
Pergunta
leandrogsantana
Estou fazendo um trabalho de programação em C, usando o Codeblocks!
O trabalho consiste em criar ler uma matriz 5x5, efetuar a soma de todas as linhas e o resultado de cada linha jogar em uma posição em um vetor que deve ser criado, o mesmo para as colunas!
O programa funciona perfeitamente, mas quando mandou ele exibir o vetor das somas e das colunas, se eu colocar para mostrar o vetor das colunas primeiro, e vetor das linhas só mostra o valor 0 em todas as posições, o mesmo acontece se eu colocar o das linhas primeiro e o das colunas depois!
Link para o comentário
Compartilhar em outros sites
2 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.