Дан массив из 25 целых чисел. Элементы массива могут принимать значения от 0 до 10 — количество за тест. Требуется найти количество учащихся, которые справились с заданием, т. е. выполнили хотя бы 5 заданий из 10. Дополните программу:
1. В переменную d записывается остаток от деления числа 2, который совпадает с остатком от деления последней цифры на 2; k инициализируется нулем. Затем, пока N > 1, последняя цифра числа сравнивается с d, и если она совпадает с d, k увеличивается на 1. После сравнения последняя цифра отбрасывается. Результат подсчета выводится на экран. Итак программа вычисляет количество цифр, совпадающих с остатком от деления последней цифры на 2 без учета первой цифры, если она 1. N = 1961: будет выведено 1 (первая единица не в счет, кроме неё в числе остается только одна единица)
2. N от 101 до 109 не подойдут: если число четное, не будет учтена последняя цифра, если нечетное – то первая. N = 110 подходит: будет выведено 1.
3. Ошибки ясны из описания в пункте 1: сравниваются не остаток от деления и d, а цифры и d; если первая цифра 1, она не учитывается. Исправления: while N > 1 ... надо поменять на while N > 0 ... if N mod 10 = d ... надо поменять на if N mod 2 = d ...
#include <conio.h>
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
cout << "Введите три числа: ";
int a[2];
cin >> a[0]; cin >> a[1]; cin >> a[2];
if (a[0] < a[1] && a[0] < a[2])
a[0] = 0;
else if (a[1] < a[0] && a[1] < a[2])
a[1] = 0;
else if (a[2] < a[1] && a[2] < a[0])
a[2] = 0;
cout << endl;
cout << a[0] << " " << a[1] << " " << a[2];
_getch();
return 0;
}
Итак программа вычисляет количество цифр, совпадающих с остатком от деления последней цифры на 2 без учета первой цифры, если она 1.
N = 1961: будет выведено 1 (первая единица не в счет, кроме неё в числе остается только одна единица)
2. N от 101 до 109 не подойдут: если число четное, не будет учтена последняя цифра, если нечетное – то первая.
N = 110 подходит: будет выведено 1.
3. Ошибки ясны из описания в пункте 1: сравниваются не остаток от деления и d, а цифры и d; если первая цифра 1, она не учитывается.
Исправления:
while N > 1 ... надо поменять на while N > 0 ...
if N mod 10 = d ... надо поменять на if N mod 2 = d ...