Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Дано целое число N (N>0). Написать рекурсивную функцию, чтобы определить: 1) максимальную цифру числа (переменная Max), 2)
- позицию первой максимальной цифры (переменная P). Считать, что цифры в числе пронумерованы начиная от разряда единиц.
- Все действия выполнять на рекурсивном возврате.
- */
- #include <iostream>
- #include <fstream>
- using namespace std;
- void Max(int x, int &max) //поиск максимальной цифры
- {
- if (x>0)
- if (max < x % 10){ max = x % 10; Max(x / 10, max); }
- else Max(x / 10, max);
- }
- void Kol(int x, int max, int &k)
- {
- if (x>0)
- if (x % 10 == max) { k++; Kol(x / 10, max, k); }
- else Kol(x / 10, max, k);
- }
- void main()
- {
- setlocale(LC_ALL, "rus");
- int max, x, p = 1;
- cout << "Введите число\n";
- cin >> x;
- max = x % 10; //максимум = первая цифра числа
- Max(x, max);
- Kol(x, max, p);
- cout << "Максимальное цифра: " << max << "Количество максимальных: " << p << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment