Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Rakot568
15 / 15 / 4
Регистрация: 11.04.2013
Сообщений: 181
#1

Найти минимальное и максимальное

31.10.2013, 17:23. Просмотров 396. Ответов 9
Метки нет (Все метки)

Найти минимальное и максимальное из трех введенных чисел a, b, c.

Написал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void main(void)
{
  float a,b,c;
  clrscr();
  printf("Введите a,b,c\n");
  scanf("%f %f %f", &a, &b, &c);
  if ((a>b)|| (a>c))
    printf("Максимальное -  %f\n",a);
  else
    if ((b>a)|| (b>c))
      printf("Максимальное -  %f\n",b);
    else
      if ((c>a)|| (c>b));
    printf("Максимальное -  %f\n",c);
  if ((a<b)|| (a<c))
    printf("Минимальное -  %f\n",a);
  else
    if ((b<a)|| (b<c))
      printf("Минимальное -  %f\n",b);
    else
      if ((c<a)|| (c<b))
      printf("Минимальное -  %f\n",c);
  getch();
}
Работает неправильно. Почему, и что исправить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 17:23
Ответы с готовыми решениями:

найти минимальное и максимальное
прошу помочь розобраться.. программа №1 создает файл с разными данными,...

Найти максимальное и минимальное значение
Задание элементарное, только никак не могу догадаться. На ввод N раз идет...

Не знаю как найти максимальное и минимальное
#include&lt;math.h&gt; using namespace std; int main() { setlocale(0, &quot;&quot;);...

Найти минимальное и максимальное значение в массиве
Что то я не пойму почему этот код не находит минимальное и максимальное...

Найти максимальное и минимальное значение функции
Просьба решить задачку, так как я сам ни бум бум...=( А через пару недель нужно...

9
oxotnik
1621 / 1095 / 74
Регистрация: 21.08.2008
Сообщений: 4,615
Записей в блоге: 1
31.10.2013, 17:24 #2
положить в массив, отсортировать и взять первое и последнее
3 строки кода
0
Rakot568
15 / 15 / 4
Регистрация: 11.04.2013
Сообщений: 181
31.10.2013, 17:31  [ТС] #3
oxotnik, еще не проходили, надо через ветвление.
Ввожу 1,2,3. Выводит, что максимальное 2 и максимальное 3.
0
Scythian
58 / 58 / 12
Регистрация: 01.01.2010
Сообщений: 222
31.10.2013, 17:34 #4
Замените || на &&
И условий слишком много.Достаточно два if'а:
C++
1
2
if((a>b)&&(a>c))
if((b>a)&&(b>c))
Если оба ложны - то наибольший - c
1
Zig_Stas
8 / 8 / 2
Регистрация: 26.10.2013
Сообщений: 55
31.10.2013, 17:34 #5
Потому что бред. Если у тебя а>б и например, б>с, то они оба максимальные. Это не оптимальный вариант решения. Проще и правда считывать в массив и сортировать его, либо тупо проверкой условием искать.
0
Rakot568
15 / 15 / 4
Регистрация: 11.04.2013
Сообщений: 181
31.10.2013, 17:38  [ТС] #6
А в чем разница между || и &&?
0
Scythian
58 / 58 / 12
Регистрация: 01.01.2010
Сообщений: 222
31.10.2013, 17:39 #7
Цитата Сообщение от Rakot568 Посмотреть сообщение
А в чем разница между || и &&?
|| логическое ИЛИ
&& логическое И
1
DmitryM5
Love~
73 / 65 / 32
Регистрация: 27.08.2013
Сообщений: 1,008
Записей в блоге: 1
31.10.2013, 17:40 #8
Цитата Сообщение от Rakot568 Посмотреть сообщение
А в чем разница между || и &&?
|| или
&& и
0
Rakot568
15 / 15 / 4
Регистрация: 11.04.2013
Сообщений: 181
31.10.2013, 17:44  [ТС] #9
А можно в этой задаче применить min и max из stdlib.h?
0
DmitryM5
Love~
73 / 65 / 32
Регистрация: 27.08.2013
Сообщений: 1,008
Записей в блоге: 1
31.10.2013, 17:49 #10
Вот два простых способа:
1.if else
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
#include <locale>
#include <math.h>
 
using namespace std;
 
 
 
int main()
{
    std::locale::global(std::locale(""));
    double x,y,z,max3,min3;
    cout<<"Введите x,y,z "<<endl;
    cin>>x>>y>>z;
    if((x>y)&&(x>z)) max3=x;
    else if((y>x)&&(y>z)) max3=y;
    else max3=z;
    
    if((x<y)&&(x<z)) min3=x;
    else if((y<x)&&(y<z)) min3=y;
    else min3=z;
    
 
    cout<<"Проверка "<<endl;
    cout<<" max(x,y,z)= "<<max3<<endl;
    cout<<" min(x,y,z)= "<<min3<<endl;
    system("pause");
    retrun 0;
}
2.Тернарная операция (http://cppstudio.com/uchebniki/yazyk...-vybora-v-s/):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <locale>
#include <math.h>
 
using namespace std;
 
 
 
int main()
{
    std::locale::global(std::locale(""));
    double x,y,z,max3,min3;
    cout<<"Введите x,y,z "<<endl;
    cin>>x>>y>>z;
    max3= x>y ? x : y;
    max3= z>max3 ? z : max3;
 
    min3= x<y ? x : y;
    min3= z<min3 ? z : min3;
 
    cout<<"Проверка "<<endl;
    cout<<" max(x,y,z)= "<<max3<<endl;
    cout<<" min(x,y,z)= "<<min3<<endl;
    system("pause");
        retrun 0;
}
0
31.10.2013, 17:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 17:49

Найти максимальное и минимальное значение элементов массива
Описать функции формирования элементов одномерного массива с по- мощью...

Найти минимальное и максимальное значение функции на отрезке [a; b]
Всем доброго времени суток! Задали лабораторную работу, где необходимо...

Найти максимальное и минимальное значение функции на отрезке
Для заданной функции f=x2(x-3) найти максимальное и минимальное значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru