Форум программистов, компьютерный форум CyberForum.ru

Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Grandy
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 29
16.05.2013, 21:43     Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел #1
Доброго дня. В общем на начальном этапе изучения дошел до задач.
Попалась такая задача.
Кликните здесь для просмотра всего текста
Напишите программу, которая вводит с клавиатуры три целых числа и печатает
сумму, среднее значение, произведение, меньшее и большее из этих чисел.
Диалог на экране должен выглядеть следующим образом:
Введите три различных целых числа: 13 27 14
Сумма равна 54
Среднее значение равно 18
Произведение равно 4914
Наименьшее равно 13
Наибольшее равно 27


Написал программу по этой задаче:
Кликните здесь для просмотра всего текста
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
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
 
int main ()
{
    int x, y, z;
    int sum, znac, proizv, min, max;
    
    cout << "VVedite tri tselix cisla\n";
    cin >> x >> y >> z;
    cout << "VVedite tri tselix cisla " << "x\t" << "y\t" << "z\t" << endl;
    
    sum = x + y + z;
    znac = (x + y + z)/3;
    proizv = x * y * z;
    
    if (x < y) 
        min = x;
    if (y < min)
        min = y;
    if (z < min)
        min = z;
    
    if (x > y) 
        max = x;
    if (y > max)
        max = y;
    if (z > max)
        max = z;
    
    cout << "Sum ravna " << sum << endl;
    cout << "Znacenie ravno " << znac << endl;
    cout << "Proizvedenie ravno " << proizv << endl;
    cout << "Naimeniwee ravno " << min << endl;
    cout << "Naiboliwee ravno " << max << endl;
    
    return 0;
}


Но при выполнении у меня не получается вывести наибольшее чисто из трех введённых, а получается какое-то другое число. Не могу понять, где ошибка. Поправьте пожалуйста.
Миниатюры
Программа, которая вводит с клавиатуры три целых числа и печатает  сумму, среднее значение, произведение, меньшее и большее из этих чисел  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 21:43     Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел
Посмотрите здесь:

Написать программу, которая вводит с клавиатуры два натуральных числа и выполняет логическое умножение и сложение этих чисел C++
C++ Найти сумму, среднее значение, меньшее и большее из трех введенных чисел
Написать программу, которая вводит с клавиатуры последовательность из пяти дробных чисел и после ввода каждого числа выводит среднее арифметическое п C++
C++ Программа, которая вводит c клавиатуры двумерный квадратный массив целых чисел, заменяет все отрицательные элементы главной диагонали на сумму всех эл
Операторы выбора. Даны три различных числа. Среднее поделить на меньшее, меньшее возвести в куб, большее оставить без изменения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
16.05.2013, 21:54     Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел #2
C++
1
2
3
4
5
6
7
8
int max(int a, int b)
{ return (a > b) ? a : b; }
 
int min(int a, int b)
{ return (a < b) ? a : b; }
...
max_val = max( max(x, y), z );
min_val = min( min(x, y) ,z );
Grandy
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 29
16.05.2013, 22:29  [ТС]     Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел #3
Olivеr, пасибо.
Я вот все равно не могу понять, где ошибка.
Первое условие срабатывает
C++
1
if (x > y) max = x;
, если ему присвоили большее число, а вот остальные два не срабатывают, если поставить y или z выше числа.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
16.05.2013, 22:34     Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел #4
Цитата Сообщение от Grandy Посмотреть сообщение
C++
1
2
3
4
5
6
if (x < y) 
min = x;
if (y < min)
min = y;
if (z < min)
min = z;
неправильно. надо так:
C++
1
2
3
4
5
min = x;
if (y < min)
min = y;
if (z < min)
min = z;
Цитата Сообщение от Grandy Посмотреть сообщение
C++
1
2
3
4
5
6
if (x > y) 
max = x;
if (y > max)
max = y;
if (z > max)
max = z;
выводится какое-то непонятное число потому, что переменная max не инициализирована и при этом условие x > y не выполняется, следовательно max = мусор из оперативной памяти. дальнейшее выполнение программы неверно.
надо так:
C++
1
2
3
4
5
max = x;
if (y > max)
max = y;
if (z > max)
max = z;
Grandy
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 29
16.05.2013, 22:40  [ТС]     Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел #5
Olivеr, спасибо. Понял.
Integer Arman
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 1
29.11.2016, 01:37     Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел #6
if (tiv1 >= tiv2)
{
max = tiv1;
min = tiv2;
}

else
{
max = tiv2;
min = tiv1;
}

if (max >= tiv3)
{
max = max;

}

else
{
max = tiv3;
}

if (min >= tiv3)
{
min = tiv3;
}

else
{
min = min;
}

cout << "\nMax " << max << endl;
cout << "\nMin " << min << endl;
return 0;
Yandex
Объявления
29.11.2016, 01:37     Программа, которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, произведение, меньшее и большее из этих чисел
Ответ Создать тему
Опции темы

Текущее время: 03:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru