Татьяна Королькова
Татьяна Королькова

Надо подправить программу С++.

Вы вводите 5 чисел, программа определяет максимальный и минимальный элементы и выдает их отношение. Программа написана правильно. Именно рекурсивная функция надо, нельзя использовать никаких массивов и всего в этом роде... лишь сравнение чисел как в программе.
Одно НО: надо же добавить что-то на случай если пользователь введет больше 5 чисел. в программе оно просто не берет во внимание остальные числа, кроме 5 первых. Надо вставить строчку что б в случае ввода больше 5 чисел, выводило на экран что-то типа-Ошибка, введите 5 чисел.
Пробовала много способов, но что-то никак))) помогите, кто может)
#include
#include

float maximum (int x, int y, int z,int u, int i)
{float max=x;
if (y>max)
max=y;
if (z>max)
max=z;
if (u>max)
max=u;
if (i>max)
max=i;
return max;
}

float minimum(int x, int y, int z, int u, int i)
{float min=x;
if (y >a> >b> >c> >d> >e;
cout < < "\nMaximum= " <

http://pastebin.com/t1tXGpTc

Добавлена ссылочка на программу)

Алексей
Алексей

Рекурсивная версия:

#include
#include

void recmaxmin(int &mx, int &mn, int n = 5) {
int v;
if (n == 5) {
cin >> v;
mx = mn = v;
recmaxmin(mx, mn, n - 1);
} else if (n > 0) {
cin >> v;
if (v > mx) mx = v;
if (v < mn) mn = v;
recmaxmin(mx, mn, n - 1);
}
}

int main() {
cout << "numbers? ";
int mx, mn;
recmaxmin(mx, mn);
cout << "max: " << mx << "; min: " << mn << endl;
cout << "max/min: " << (double)mx / mn << endl;
return 0;
}

> Одно НО: надо же добавить что-то на случай если пользователь введет больше 5 чисел
Не надо. Пусть вводит сколько хочет. Возьмет-то все равно первые пять.

Максим *******
Максим *******

выкладывай код на pastebin.com
молодец, оперативненько
1. нет рекурсии в твоей программе
2. при данном типе ввода - никак. потому что шестое ( и прочие) числа и не вводятся.
т. е. даже если ты нажмешь еще пару кнопок - программа не проигнорирует, а не узнает.
и это, в принципе, правильно.
ловить такую ситуацию - усложнять себе жизнь. например, считывая строку с числами через пробелы
3. а еще i в main лишняя

ПШ
Павел Шерстнёв

Почему бы не сделать считывание в цикле?

Похожие вопросы
Оцените сайт, по подскажите что подправить.
Нужно подправить немного Регулярное Выражение!) Help
СИ. Работа с файлами. как подправить программу?
с++ помогите подправить код
Кто понимает в программировании напишите мне, пожалуйстаааааааа!!!! Нужно задачки подправить
Требуется подправить рабочую программу на С++ (Нужна шестнадцатеричная система счисления)
Что то нужно подправить?
Помогите подправить программу (Pascal).
Помогите подправить код VBA
Помогите подправить код в VBA