Sumowanie kolumn w języku C

0

Cześć, mam na zadanie napisać program, który będzie tworzył dwie tablice, jedna jest odpowiedzialna za przechowanie danych podanych z klawiatury (tab[4][n]) a druga ma zawierać sumę kolumn poprzedniej tablicy (tab2[1][n]). Niestety zatrzymałem się na tej drugiej tablicy i nie mam pomysłu jak za pomocą pętli zsumować te kolumny.

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main (){
int n,i,j,k,h;
int suma;
	printf("Podaj liczbe odbiorcow:  ");
	scanf("%d", &n);
	int tab[4][n];
	
	for (i=0; i<4; i++ )
	{
		for(j=0;j<n;j++)
		scanf("%d", &tab[i][j]);
		
	}

	for (i=0; i<4;i++)
	{
		printf("\n");
		for (j=0;j<n;j++)
		printf(" %d ", tab[i][j]);                                  
	}
//tuaj powinna znajdować sie pętla sumująca te kolumny
getch();
return 0;
}
1

Podpowiem. Dla każdego j od 0 do n-1 powinna zachodzić zależność

tab2[0][j] = tab[0][j] + tab[1][j] + tab[2][j] + tab[3][j];

Tylko nie zapisuj tej ostatniej sumy ręcznie! Też za pomocą pętli.

0

@enedil: coś takiego ???

for (j=0; j<(n-1); j++){
	tab2[0][j]=tab[0][j]+tab[1][j]+tab[2][j]+tab[3][j];
	printf("%d", tab2[0][j]);
}
0

@kamil2000z: ostatniego elementu nie przetwarzasz, no i mówiłem, zrób pętlę po tych 4 elementach (podobnie do pozostałych pętli po tablicy tab.

0

@enedil: zrobiłem coś takiego i dalej nie działa:

for (j=0; j<n; j++){
	for (i=0; i<4; i++){
	
	tab2[0][j]=tab[i][j]+tab[i][j]+tab[i][j]+tab[i][j];
	printf("%d", tab2[0][j]);
}
}
0

Co dokładnie nie działa?
Albo może inne pytanie. Wyobraź sobie, że daję Tobie kartkę, a na kartce 1000 liczb. W jaki sposób zabrał byś się, żeby je wszystkie zsumować?

0

@enedil: Efekt działania programu jest prawie dobry ale chyba liczy tyle ile razy działa pętla i nie wiem jak to zmienić. Zrzut ekranu (72).png

0

Może na chwile zmień sobie zadanie najpierw:

  • zamiast 4-ch wierszy niech będzie 4000 wierszy
  • zamiast 4-ch wierszy niech będzie tyle ile użytkownik poda (dla uproszczenia załóż że nie będzie więcej niż 100, czyli int tab[100][n];)
    zastanów się jak by wyglądało rozwiązanie tych dwóch zmienionych zadań.

1 użytkowników online, w tym zalogowanych: 0, gości: 1