Wątek przeniesiony 2017-11-25 03:23 z C/C++ przez kq.

Zadanie z tablic i funkcji

0

Cześć wszystkim :)

Potrzebuję pomocy. Mam dane zadanie i o ile nie mam problemu z tablicami to wplecenie w to funkcji w taki sposób jaki mam zadany sprawia mi kłopot.

Wczytać dane do tablic a[N] [N] i b[N] [N], gdzie N to dowolna stała. W tablicy a obliczyć za pomocą funkcji sumę elementów podzielnych przez 5 w 3 pierwszych kolumnach, zaś w tablicy b obliczyć sumę elementów podzielnych przez 2 w 4 pierwszych kolumnach. Wydrukować różnicę między tymi sumami.

Wiem, że funkcja ma zawierać 3 dane wejściowe ('która tablica, ile kolumn do zliczenia, przez jaką liczbę podzielne liczby), ale nie wiem jak to zrobić i jak ona ma wyglądać.

Proszę pomóżcie :)

1

W sumie dość nieprzyjemne zadanie dla newba.
Zacznij od aliasu dla tablicy - ze względu na odziedziczoną po C składnię, tablice, wskaźniki na dane i wskaźniki/referencje na tablice w parametrach funkcji są okropne (zbliżony temat tutaj).
Zakładam, że tablice mają być tablicami intów.

using tab = int[N][N];

Teraz zdefiniuj sobie funkcję przyjmującą wspomniane przez Ciebie trzy argumenty:

int suma_kolumn_podzielnych_przez(tab const& tablica, int kolumn, int podzielnych_przez)
{
    int suma = 0;
    // wypełnij sam
    return suma;
}

Powodzenia!

0

Dzięki za odpowiedź :) zrobiłem, jednak dalej mi coś, źle zlicza, mógłby ktoś pomóc? podaje niżej kod:

using namespace std;
int c,d,roznica;
const int n=3;
int a[n][n];
int b[n][n];
int zliczkolumny(int tablica[n][n], int ile_kolumn, int dzielnik)
{
	int suma;

	{
		for (int i = 0; i < n; i++)
		{
			for (int j = 0; j < ile_kolumn; j++)
				if (tablica[i][j] % dzielnik == 0)
				suma=suma+tablica[i][j];

		}

	}
	return suma;
}

int main()
{

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			cout<<"podaj liczbe do tablicy a"<<endl;
			cin>>c;
			cout<<"podaj liczbe do tablicy b"<<endl;
			cin>>d;
			a[i][j]=c;
			b[i][j]=d;
		}
	}
roznica=zliczkolumny(a, 3, 5)-zliczkolumny(b, 3, 2);
cout<<"roznica to: "<<roznica;

}

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