Wskaźniki. Czy kod jest poprawny?

0

Nie ogarniam wskaźników, ale napisałem funkcję (przygotowania do egzaminu) i chciałbym się Was spytać czy działa? Nie wiem jak podesłać parametry do niej, dlatego sam tego nie umiem sprawdzić.

double kopiujISumujDodatnie(double*temperatury, double*dodatnie,int ile){
	int suma  = 0;
	while(--ile>=0){	if(*temperatury>=0){
			*dodatnie=*temperatury;
			suma+=*dodatnie;
			dodatnie++;
		}
		temperatury++;
	}
	*dodatnie=0;
	return suma;
}

Przy wywołaniu

	double tem[6] = {0,4,3,-2,-5,6};
	double dod[5];
	cout<<kopiujISumujDodatnie(*tem,*dod,6); // <-----

Dostaję błąd: cannot convert double to double* for argument 1 w zaznaczonej linijce.
PS: założenia są że wszystko jest poprawnie wprowadzane.

2

Przekazuj tablicę do funkcji używając tylko jej nazwy, czyli:

kopiujISumujDodatnie(tem, dod, 6);
1

Praktycznie identyczny problem: https://4programmers.net/Forum/1371177

Temperatury masz niby jako double (aczkolwiek żadna wartość nie jest liczbą niecałkowitą), a suma jako int.

Dlaczego ten if jest tak dziwnie umiejscowiony?

0

Dzięki Wszystkim. Działać działa :)

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