Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2022, 23:10   #1
room60
Пользователь
 
Регистрация: 22.09.2022
Сообщений: 24
Печаль Поиск max/min

Как к переменной F присвоить значение разности между наибольшим и наименьшим из четырех заданных чисел. (С++)
room60 вне форума Ответить с цитированием
Старый 23.09.2022, 23:27   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

https://www.programmersforum.ru/showthread.php?t=343689

Достаточно убрать сумму элементов и один из минусов. Математика 3 класс.

ADD: Тренировка на кошках
<a> это кошка с 8-ю усами
кошке <b> хулиганы подпалили усы с одной стороны
кошка <c> в драке другая кошка выдрала 1 ус
у кошки <d> 10 усов

<f> = max(кошка <a>, кошка <b>, кошка <c>, кошка <d>) - min(кошка <a>, кошка <b>, кошка <c>, кошка <d>);
<f> = max(8, 4, 7, 10) - min(8, 4, 7, 10);
<f> = 10 - 4 = 6.

Последний раз редактировалось macomics; 23.09.2022 в 23:39.
macomics вне форума Ответить с цитированием
Старый 24.09.2022, 14:22   #3
room60
Пользователь
 
Регистрация: 22.09.2022
Сообщений: 24
По умолчанию

Тренировка на кошках мне помогла, я попытался выразить это в коде. Правильно ли я сделал либо здесь есть что-то лишнее или можно сократить?
int a, b, c, d;
cout << "Введите первое число = ";
cin >> a;
cout << "Введите второе число = ";
cin >> b;
cout << "Введите третье число = ";
cin >> c;
cout << "Введите четвертое число = ";
cin >> d;

int min = a;
int max = a;

if (b < min) min = b;
if (c < min) min = c;
if (d < min) min = d;

if (b > max) max = b;
if (c > max) max = c;
if (d > max) max = d;
cout << "Max: " << max << endl;
cout << "Min: " << min << endl;
cout << "F: " << max - min << endl;

system("pause");
return 0;
}
room60 вне форума Ответить с цитированием
Старый 24.09.2022, 14:24   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Все вроде верно. Только размещайте код внутри тегов [CODE][/CODE]. Так читать проще

Если надо сократить, тогда проще написать функции
Код:
int inp(std::string title) { int a; std::cout << title; std::cin >> a; return a; }
int min(int a, int b) { return (a<b) ? a : b; }
int max(int a, int b) { return (a>b) ? a : b; }
int main() {
  int a = inp("Введите первое число = "), b = inp("Введите второе число = "), c = inp("Введите третье число = "), d = inp("Введите четвертое число = ");
  int mx = max(max(max(a, b), c), d), mn = min(min(min(a, b), c), d);
  std::cout << "Max: " << mx << "\nMin: " << mn << "\nF: " << mx - mn << "\n";

  system("pause");
  return 0;
}

Последний раз редактировалось macomics; 24.09.2022 в 14:31.
macomics вне форума Ответить с цитированием
Старый 24.09.2022, 14:26   #5
room60
Пользователь
 
Регистрация: 22.09.2022
Сообщений: 24
По умолчанию

Я вас понял, в скором времени еще буду задавать вопросы. Спасибо что подсказали и так быстро ответили о состоянии кода))
Вот это максимально сократили, прям страшно.

Последний раз редактировалось room60; 24.09.2022 в 14:33.
room60 вне форума Ответить с цитированием
Старый 24.09.2022, 14:39   #6
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Там просто элементарные строчки написаны в одной строке. На самом деле все несколько длиннее
Код:
#include <iostream>
int inp(std::string title) {
  int a;
  std::cout << title;
  std::cin >> a;
  return a;
}

int min(int a, int b) {
  return (a<b) ? a : b;
}

int max(int a, int b) {
  return (a>b) ? a : b;
}

int main() {
  int a = inp("Введите первое число = ");
  int b = inp("Введите второе число = ");
  int c = inp("Введите третье число = ");
  int d = inp("Введите четвертое число = ");
  int mx = max(max(max(a, b), c), d);
  int mn = min(min(min(a, b), c), d);
  std::cout << "Max: " << mx << "\nMin: " << mn << "\nF: " << mx - mn << "\n";
  system("pause");
  return 0;
}
Если все развернуть не уверен, что будет сильно короче вашего исходного варианта.
macomics вне форума Ответить с цитированием
Старый 24.09.2022, 15:50   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

macomics, тоже хотел сослаться на предыдущую тему, но вы опередили.
room60, еще можно воспользоваться min и max из algorithm вместо самостоятельной реализации.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста решить две задачки - поиск минимального значения в векторе и поиск/перестановка положительных элементов в матрице Ruslan Rutkovsky Паскаль, Turbo Pascal, PascalABC.NET 6 12.05.2017 23:43
Гугл поиск отсылает на майл.ру поиск Ципихович Эндрю Свободное общение 5 22.11.2016 11:01
Помощь в доработке программы на языке паскаль (бинарный поиск, поиск перебором) DimzNOVIchok45 Помощь студентам 0 13.10.2014 20:11
Реализовать два метода поиска строк в массиве: поиск перебором, бинарный поиск на языке Pascal DimzNOVIchok45 Помощь студентам 7 19.09.2014 21:40
Обработка одномерного массива - поиск среднего, поиск минимального, сортировка (Паскаль) nadez Паскаль, Turbo Pascal, PascalABC.NET 3 18.03.2014 08:45