Тебе надо сначала найти максимум в массиве и передвинуть влево, и продолжать искать максимумы в массиве, не включая первый элемент.
С введенным числом не очень понимаю - надо индексы значений просто вывести, которые равны введенному числу или как? Условие не полное.
Надеюсь
sev-94428
28.03.2023
В наихудшем случае, последнее новогоднее число - 11111111.
#include <iostream>
bool isNewYearNumber(int n); int sumDigits(int num); bool hasZero(int n);
int main() { const int LASTNEWYEARNUMBER = 11111111; long long sum = 0; for(int i = 0; i <= LASTNEWYEARNUMBER; i++) if ( isNewYearNumber(i) ) sum += i; std::cout << "Сумма всех новогодних чисел: " << sum << '\n'; return 0; }
int sumDigits(int num) { int sum = 0; while ( num > 0 ) { sum += num % 10; num /= 10; } return sum; }
bool hasZero(int n) { if (n < 0) n = -1 * n; if (n % 10 == 0) return true; else if (n / 10 > 0) hasZero(n / 10); else return false; }
lele4kass
28.03.2023
В наихудшем случае, последнее новогоднее число - 11111111.
#include <iostream>
bool isNewYearNumber(int n); int sumDigits(int num); bool hasZero(int n);
int main() { const int LASTNEWYEARNUMBER = 11111111; long long sum = 0; for(int i = 0; i <= LASTNEWYEARNUMBER; i++) if ( isNewYearNumber(i) ) sum += i; std::cout << "Сумма всех новогодних чисел: " << sum << '\n'; return 0; }
Смотри - у тебя есть массив и введенное число.
Тебе надо сначала найти максимум в массиве и передвинуть влево, и продолжать искать максимумы в массиве, не включая первый элемент.
С введенным числом не очень понимаю - надо индексы значений просто вывести, которые равны введенному числу или как? Условие не полное.
Надеюсь