Ir para conteúdo

Arquivado

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

  • 0
Parazeit

Matrizes: Soma das colunas - C/C++

Pergunta

-Obtenha e imprima um vetor que seja a soma dos elementos de cada coluna de
uma matriz numérica qualquer dada.

 

Uma questão aparentemente simples, mas que tem me dado um certo trabalho. Não faço ideia do que possa estar errado, por isso gostaria de pedir ajuda.

O programa não exibe a matriz que o usuário insere, nem faz a soma dos elementos de cada coluna como deveria.

(Irei publicar o código por completo para uma melhor visualização)

#include <stdio.h>

int main () {
	
	int i, j, tl = 0, tc = 0;
	int M[tl][tc], vet[tc];
	
	printf ("Informe a quantidade de linhas: "); // Entrada de dados.
	scanf ("%d", &tl);
	
	printf ("\n\nInforme a quantidade de colunas: "); // Entrada de dados.
	scanf ("%d", &tc);
	
	system ("cls"); // Limpa a tela.
	
	printf ("Preencha a matriz:\n");
	
	for (i = 0; i < tl; i++) { // Entrada de dados.
		for (j = 0; j < tc; j++) {
			printf ("\nInsira o elemento da posicao [%d][%d]: ", i + 1, j + 1);
			scanf ("%d", &M[i][j]);
		}
		
		printf ("\n");
	}
	
	system ("cls"); // Limpa a tela.
	
	printf ("[Matriz inicial]:\n\n"); // Saída de dados.
	
	for (i = 0; i < tl; i++) {		
		for (j = 0; j < tc; j++)
			printf ("%d ", M[i][j]);
		
		printf ("\n");
	}
	
	for (i = 0; i < tl; i++) {		
		for (j = 0; j < tc; j++)
			vet[i] = vet[i] + M[j][i];
	}
	
	printf ("[Vetor resultante]:\n\n"); // Saída de dados.
	
	for (i = 0; i < tc; i++)
		printf ("%d ", vet[i]);
		
	return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

Recommended Posts

Em 2017-3-25 at 20:59, Parazeit disse:

int i, j, tl = 0, tc = 0; int M[tl][tc], vet[tc]; printf ("Informe a quantidade de linhas: "); // Entrada de dados. scanf ("%d", &tl); printf ("\n\nInforme a quantidade de colunas: "); // Entrada de dados. scanf ("%d", &tc);

Ao declarar o tl e o tc como 0, você está criando uma matriz e um vetor que não irão alocar nada.

Acho que inverter isso vai resolver seu problema. Primeiro receba o tamanho que você que pra tl e tc, depois declare a matriz e o vetor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.