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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
#1

Узнать наибольшее, найти сумму, наименьшее, avg - C++

25.01.2014, 01:15. Просмотров 950. Ответов 26
Метки нет (Все метки)

Узнать наибольшее, найти сумму, наименьшее, avg
Тоесть нужно сделать программу в консоле на c++ что бы:

Вводишь например там хоть сколько чисел и как только введешь 0 находит:

1. наибольшее число из всех введенных
2. сумму всех чисел
3. наименьшее
4. avg

Нужна помощь срочно, помогите решить хоть одно что то
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 01:15     Узнать наибольшее, найти сумму, наименьшее, avg
Посмотрите здесь:

C++ Найти наибольшее и наименьшее значение
C++ Найти наибольшее и наименьшее из 3х чисел
C++ Найти наибольшее и наименьшее значение среди элементов массива
C++ Vector - найти наименьшее и наибольшее расстояния между городами
C++ В квадратной матрице найти наименьшее и наибольшее значение по условию
Найти наибольшее и наименьшее значение массива из восьми элементов C++
Найти наименьшее и наибольшее из пяти чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gromo
 Аватар для gromo
367 / 266 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
25.01.2014, 01:18     Узнать наибольшее, найти сумму, наименьшее, avg #2
FIN7, не могу не спросить: вы знаете, что такое avg?
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
25.01.2014, 01:37  [ТС]     Узнать наибольшее, найти сумму, наименьшее, avg #3
gromo, не) ну не важно, главное 1, 2, 3. Поможет пожалуйста мне на завтра надо!( не успел

Добавлено через 8 минут
вот вообщем находит минимальное:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main()
{
    int min = 100;
    int i = 0;
    while (i< 10)
    {
        int a, min;
 
        cin >> a;
        i += 1;
 
        if (a<min)
        {
            min = a;
        }
        cout << min << endl;
    }
    system("Pause void");
    return 0;
}
но у меня выдает ошибку "Error 1 error C4700: uninitialized local variable 'min' used"
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
25.01.2014, 02:07     Узнать наибольшее, найти сумму, наименьшее, avg #4
Цитата Сообщение от FIN7 Посмотреть сообщение
int min = 100;
Цитата Сообщение от FIN7 Посмотреть сообщение
int a, min;
два раза объявляете
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
25.01.2014, 02:30  [ТС]     Узнать наибольшее, найти сумму, наименьшее, avg #5
MrGluck, и как решить эту проблему?
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
25.01.2014, 02:39     Узнать наибольшее, найти сумму, наименьшее, avg #6
FIN7, очевидно какое-то объявление из них лишнее. Его и убрать

Добавлено через 59 секунд
Шепетом: лишняя переменная - локальная, объявленная внутри цикла.
Bretbas
181 / 40 / 5
Регистрация: 05.08.2013
Сообщений: 673
Завершенные тесты: 1
25.01.2014, 02:50     Узнать наибольшее, найти сумму, наименьшее, avg #7
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
41
42
43
44
45
46
#include <iostream>
#include <vector>
#include "conio.h"
using namespace std;
void main()
{
vector<int> m;
int k;
do
{
cin>>k;
m.push_back(k);
}
while(k != 0);
cout << "1-max;2-summa;3-min";
char c;
cin>>c;
switch(c)
{
case "1":
{
int max =m[0];
for(int i=1;i<m.size();i++)
{if(max<m[i]) max = m[i]; cout<<max; }
}
break;
case "2":
{
int sum=0;
for(int i=0;i<m.size();i++)
{sum=sum+m[i];cout<<sum; }
}
break;
case "3":
{
int min =m[0];
for(int i=1;i<m.size();i++)
{if(min>m[i]) min = m[i]; cout<<min; }
}
break;
default:
cout<<"error"; 
break;
}
getch();
}
gromo
 Аватар для gromo
367 / 266 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
25.01.2014, 03:04     Узнать наибольшее, найти сумму, наименьшее, avg #8
Цитата Сообщение от Bretbas Посмотреть сообщение
case "1":
Bretbas, сможете найти проблему в свитч? или у вас это работает?
gray_fox
What a waste!
 Аватар для gray_fox
1253 / 1136 / 54
Регистрация: 21.04.2012
Сообщений: 2,357
Завершенные тесты: 3
25.01.2014, 03:32     Узнать наибольшее, найти сумму, наименьшее, avg #9
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
#include <iostream>
#include <algorithm>
#include <vector>
 
 
int main() {
   std::vector<int> sequence;
 
   for (int value; (std::cin >> value) && (value != 0); ) {
      sequence.push_back(value);
   }
 
   auto const min = *std::min_element(std::begin(sequence), std::end(sequence));
   std::cout << "min = " << min << std::endl;
 
   auto const max = *std::min_element(std::begin(sequence), std::end(sequence));
   std::cout << "max = " << max << std::endl;
 
   auto const sum = std::accumulate(std::begin(sequnce), std::end(sequence), 0);
   std::cout << "sum = " << sum << std::endl;
 
   auto const avg = static_cast<double>(sum) / sequence.size();
   std::cout << "avg = " << avg << std::endl;
}
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
25.01.2014, 05:05     Узнать наибольшее, найти сумму, наименьшее, avg #10
Просто так, что-то захотелось освежить память про массив указателей на функции:
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
#include <iostream>
 
int max(int x1, int x2)
{
    return x1 < x2 ? x2 : x1;
}
 
int sum(int x1, int x2)
{
    return x1 + x2;
}
 
int min(int x1, int x2)
{
    return x1 < x2 ? x1 : x2;
}
 
int main()
{
    int (*pFunc[])(int, int) = {max, sum, min};
 
    int x, y;
    std::cout << "Enter variables: ";
    std::cin >> x >> y;
    std::cout << "What would you like ?\n"
                 "1. Max\n"
                 "2. Sum\n"
                 "3. Min\n"
                 "Your choise: ";
    unsigned int choice;
    std::cin >> choice;
    
    if (1 <= choice && choice <= sizeof(pFunc) / sizeof(*pFunc))
        std::cout << (*pFunc[choice-1])(x, y);
}
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
25.01.2014, 10:01  [ТС]     Узнать наибольшее, найти сумму, наименьшее, avg #11
MrGluck, что то не выходит

Добавлено через 14 минут
gray_fox, ошибки accumulate и avg там ошибки

Добавлено через 14 минут
Bretbas, не выходит error выдает всегда
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
25.01.2014, 10:59     Узнать наибольшее, найти сумму, наименьшее, avg #12
Цитата Сообщение от FIN7 Посмотреть сообщение
MrGluck, что то не выходит
"что то" - весьма размытое понятие. Мало ли, проблемы у вас с желудком (желаю, чтобы все-таки не было) и код мой тут вообще не при чем.

У меня пример - лишь подсказка к вычислению (если вдруг интересно станет). Сам я решал через STL, но оно как то пресно, да и один в один как у gray_fox, разве что без auto и алгоритмом minmax_element вместо двух. Вот, решил намекнуть, что входные данные дескать у трех функций одинаковые и возвращающее значенье схоже. Да и память свою размять насчет указателей на функции захотел.
Коль вам нужен лишь код чтоб Ctrl + C, Ctrl + V и в отчет, то можете смело мои посты не читать, я вообще много вредного могу насоветовать. Учебники например читать, пары не пропускать, маны всякие..

Добавлено через 54 секунды
Если пишите про ошибку - укажите то, что вам компилятор выдает, номер строки. Или можете ждать экстрасенсов с отпуска.
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
25.01.2014, 16:37  [ТС]     Узнать наибольшее, найти сумму, наименьшее, avg #13
MrGluck, вот мой код:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <vector>
#include "conio.h"
using namespace std;
 
void main()
{
    vector<int> m;
    int k;
    do
    {
        cin >> k;
        m.push_back(k);
    } while (k != 0);
    cout << "1-max;2-summa;3-min\n";
    char c;
    cin >> c;
    switch (c)
    {
    case 1:
    {
              int max = m[0];
              for (int i = 1; i < m.size(); i++)
              {
                  if (max < m[i]) max = m[i]; cout << max;
              }
    }
        break;
    case 2:
    {
              int sum = 0;
              for (int i = 0; i < m.size(); i++)
              {
                  sum = sum + m[i]; cout << sum;
              }
    }
        break;
    case 3:
    {
              int min = m[0];
              for (int i = 1; i<m.size(); i++)
              {
                  if (min>m[i]) min = m[i]; cout << min;
              }
    }
        break;
        default:
        cout << "error";
        break;
    }
    cin.get(); cin.get();
 
}
но там всегда выдает просто как выбираешь 1, 2, 3 тоесть сумма меньшее или большее то выдает ошибку error, как исправить что бы считало?
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
25.01.2014, 16:40     Узнать наибольшее, найти сумму, наименьшее, avg #14
вы считываете в символ, а проверяете его как число
Bretbas
181 / 40 / 5
Регистрация: 05.08.2013
Сообщений: 673
Завершенные тесты: 1
26.01.2014, 01:14     Узнать наибольшее, найти сумму, наименьшее, avg #15
Мне понравилось высказывание "вот мой код"))
Исправьте в "в вашем коде" место
C++
1
char c;
на
C++
1
int c;
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
26.01.2014, 13:52  [ТС]     Узнать наибольшее, найти сумму, наименьшее, avg #16
Bretbas, я понял)
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
28.01.2014, 22:48  [ТС]     Узнать наибольшее, найти сумму, наименьшее, avg #17
Посмотрите я сделал скриншот, там я ввожу числа и как 0 ввожу выбираю что делать, нажимаю найти наибольшее оно показывает совсем не то, оно как то странно работает, как это исправить?
Миниатюры
Узнать наибольшее, найти сумму, наименьшее, avg  
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
29.01.2014, 00:45     Узнать наибольшее, найти сумму, наименьшее, avg #18
FIN7, Выводить максимальное значение нужно не в цикле
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
29.01.2014, 15:43  [ТС]     Узнать наибольшее, найти сумму, наименьшее, avg #19
cooller_94, а как?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 16:20     Узнать наибольшее, найти сумму, наименьшее, avg
Еще ссылки по теме:

Найти наименьшее и наибольшее значение, а также сумму, разность, произведение и частное C++
C++ Файл: найти наибольшее и наименьшее расстояния между точками.
Найти наибольшее и наименьшее значения диагоналей матрицы C++
C++ Найти наибольшее и наименьшее абсолютное значение вещественного массива
C++ Найти наименьшее и наибольшее значение массива с индексами

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

Или воспользуйтесь поиском по форуму:
Тамика
Котовчанин
 Аватар для Тамика
866 / 446 / 132
Регистрация: 16.02.2010
Сообщений: 2,665
Записей в блоге: 27
29.01.2014, 16:20     Узнать наибольшее, найти сумму, наименьшее, avg #20
Наверное после завершения цикла.
Yandex
Объявления
29.01.2014, 16:20     Узнать наибольшее, найти сумму, наименьшее, avg
Ответ Создать тему
Опции темы

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