Odmiana słów (liczb parzystych/liczby parzyste)

0

Hej, mam pewien problem, stworzyłam program, który liczy ilość liczb parzystych i nieparzystych i ma podać ich ilość. Problem pojawia się wtedy, kiedy mam mieć 12,13,14 liczb parzystych, gdyż wypisuje "liczby parzyste".

#include<iostream>
using namespace std;

int main () {
int a, N, P ;
	N = 0;
	P = 0;
	cout << "\n Podaj liczbe calkowita: " ;
	cin >> a ;

while (a!=50) {
	if (a!=0)
		if (a%2==0) P = P + 1; 
			else N = N + 1 ; 
	cout << "kolejna liczba: " ;
	cin >> a;
}

cout << "\n\n wczytano: " <<P;
if (P==1) cout << " liczbe parzysta" ;
else if (P%10<22 && P%100 > 11) cout << " liczb parzystych " ;
else if ( P%10>4 ||  P%10 < 2) cout << " liczb parzystych " ;
else cout << " liczby parzyste" ;
cout<<endl;
cout << " i " << N ; 
if (N==1) cout << " liczbe nieparzysta" ;
else if (N%10 > 4 || N%10 < 2) cout << " liczb nieparzystych " ;
else cout << " liczby nieparzyste" ;


	cout << "\n\n\n";
	system ("pause");
	return 0;
}
2

strasznie przekombinowane, ciezko mi znalezc w Twoim kodzie blad bez uruchamiania

a co bys powiedziala na takie rozwiazanie, ze tworzysz sobie std::vector<int> ileParzystych i jezeli wykryjesz ze to liczba parzysta to dodajesz ja do vectora

pozniej na samym koncu robisz

if (mojVector.size() == 1) // jedna parzysta
else (mojVector.size() > 1) // wiecej parzystych
else // nieparzysta
1

Strasznie to brzydkie i nieczytelne. A kod nieczytelny jest prawie na pewno błędny.

Najważniejsza rada: dzielić na funkcje.
Np funkcja drukująca wynik programu - z odmianą. Jedna a dobra, dwukrotnie użyta.

Z drobnych formalności, to duże identyfikatory tradycyjnie oznaczają stałe.

0

https://typeofweb.com/odmiana-rzeczownikow-przy-liczebnikach-jezyku-polskim/
rozwiązanie programistycznie koślawe, ale powinno być włąściwą wskazówką.

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