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

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

Восстановить пароль Регистрация
 
 
FIN7
 Аватар для FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 168
25.01.2014, 01:15     Узнать наибольшее, найти сумму, наименьшее, avg #1
Узнать наибольшее, найти сумму, наименьшее, avg
Тоесть нужно сделать программу в консоле на c++ что бы:

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

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

Нужна помощь срочно, помогите решить хоть одно что то
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gromo
 Аватар для gromo
366 / 265 / 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
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
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
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
25.01.2014, 02:39     Узнать наибольшее, найти сумму, наименьшее, avg #6
FIN7, очевидно какое-то объявление из них лишнее. Его и убрать

Добавлено через 59 секунд
Шепетом: лишняя переменная - локальная, объявленная внутри цикла.
Bretbas
22 / 17 / 1
Регистрация: 05.08.2013
Сообщений: 468
Завершенные тесты: 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
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
25.01.2014, 03:04     Узнать наибольшее, найти сумму, наименьшее, avg #8
Цитата Сообщение от Bretbas Посмотреть сообщение
case "1":
Bretbas, сможете найти проблему в свитч? или у вас это работает?
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 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
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
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
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
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
Ворчун
Эксперт С++
 Аватар для MrGluck
4923 / 2666 / 243
Регистрация: 29.11.2010
Сообщений: 7,421
25.01.2014, 16:40     Узнать наибольшее, найти сумму, наименьшее, avg #14
вы считываете в символ, а проверяете его как число
Bretbas
22 / 17 / 1
Регистрация: 05.08.2013
Сообщений: 468
Завершенные тесты: 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++

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

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

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