Задано n чисел. Определить, сколько среди них чётных
#include <iostream>
using namespace std;
int main() {
int n, i = 1;
cin >> n;
int kol;
kol = 1;
for (i = 1; i <= n; i++) {
int nums;
cin >> nums;
if (nums / 2 == 0) kol++;
}
cout << kol;
return 0;
}
ребята, где ошибка?
Ответы (2 шт):
Автор решения: Stalk
→ Ссылка
здесь должен стаять знак % вместо / if (nums % 2 == 0) kol++; и переменная kol = 0
Автор решения: n1tr0xs
→ Ссылка
- В этой задаче нужно проверять не частное
/, а остатоко от деления%.
if (nums % 2 == 0) kol++;
Можно убрать if вовсе:
kol += !(nums%2);
- Вы неверно инициализировали переменную
kol, ведь изначально четных чисел вам не ввели, а значит их 0.
int kol = 0;
Рекомендации:
- Переменную
numsлучше назватьnum, посколько ожидается ввод одного числа, а не списка чисел. - Называть переменные траслитом - плохая практика (переменную
kolлучше назватьeven_count). - Не нужно заранее объвлять переменную
i. - Обычно итерируется не по
[1; n], а по[0; n).
#include <iostream>
using namespace std;
int main() {
int n, num;
cin >> n;
int even_count = 0;
for (int i = 0; i < n; ++i) {
cin >> num;
even_count += !(num%2);
}
cout << even_count;
return 0;
}