Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

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

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

Найти наименьшее и наибольшее значение, а также сумму, разность, произведение и частное - C++
Напишите программу , предлагающую пользователю ввести два целых числа . Запишите эти значения в переменные типа int с именами val1 и val2...

Найти наибольшее и наименьшее значение - C++
Задача - Дано целое n>0 , среди чисел вида ai=i*sin(1/i), i=1,2,...,n найти наибольшее и наименьшее. Ответ каждый раз выдает один и...

Найти наибольшее и наименьшее из 3х чисел - C++
Программа должна находить большее и меньшее из трёх чисел. Для наибольшего пробовал так: int xdif; if ( y > z ) ...

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

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

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

26
gromo
371 / 270 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
25.01.2014, 01:18 #2
FIN7, не могу не спросить: вы знаете, что такое avg?
0
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
25.01.2014, 01:37  [ТС] #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"
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
25.01.2014, 02:07 #4
Цитата Сообщение от FIN7 Посмотреть сообщение
int min = 100;
Цитата Сообщение от FIN7 Посмотреть сообщение
int a, min;
два раза объявляете
0
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
25.01.2014, 02:30  [ТС] #5
MrGluck, и как решить эту проблему?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
25.01.2014, 02:39 #6
FIN7, очевидно какое-то объявление из них лишнее. Его и убрать

Добавлено через 59 секунд
Шепетом: лишняя переменная - локальная, объявленная внутри цикла.
0
Bretbas
Каждому свое
348 / 118 / 31
Регистрация: 05.08.2013
Сообщений: 1,239
Завершенные тесты: 1
25.01.2014, 02:50 #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();
}
0
gromo
371 / 270 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
25.01.2014, 03:04 #8
Цитата Сообщение от Bretbas Посмотреть сообщение
case "1":
Bretbas, сможете найти проблему в свитч? или у вас это работает?
0
gray_fox
What a waste!
1521 / 1226 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
25.01.2014, 03:32 #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;
}
1
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
25.01.2014, 05:05 #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);
}
0
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
25.01.2014, 10:01  [ТС] #11
MrGluck, что то не выходит

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

Добавлено через 14 минут
Bretbas, не выходит error выдает всегда
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
25.01.2014, 10:59 #12
Цитата Сообщение от FIN7 Посмотреть сообщение
MrGluck, что то не выходит
"что то" - весьма размытое понятие. Мало ли, проблемы у вас с желудком (желаю, чтобы все-таки не было) и код мой тут вообще не при чем.

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

Добавлено через 54 секунды
Если пишите про ошибку - укажите то, что вам компилятор выдает, номер строки. Или можете ждать экстрасенсов с отпуска.
1
FIN7
2 / 2 / 0
Регистрация: 09.02.2013
Сообщений: 177
25.01.2014, 16:37  [ТС] #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, как исправить что бы считало?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
25.01.2014, 16:40 #14
вы считываете в символ, а проверяете его как число
0
Bretbas
Каждому свое
348 / 118 / 31
Регистрация: 05.08.2013
Сообщений: 1,239
Завершенные тесты: 1
26.01.2014, 01:14 #15
Мне понравилось высказывание "вот мой код"))
Исправьте в "в вашем коде" место
C++
1
char c;
на
C++
1
int c;
1
26.01.2014, 01:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2014, 01:14
Привет! Вот еще темы с ответами:

Найти наибольшее и наименьшее значение среди элементов массива - C++
Найти наибольшее и наименьшее значение среди элементов массива Вот начало, надо переделать что бы писало наибольшее и наименьшее...

Найти наибольшее и наименьшее абсолютное значение вещественного массива - C++
Найти наибольшее и наименьшее абсолютное значение вещественного массива. Если таких значений несколько, определить их количество....

В наборе чисел найти наибольшее и наименьшее среди отрицательных - C++
Дана последовательность из М чисел. Найти наибольшее и наименьшее среди отрицательных из них.

Найти наибольшее и наименьшее значение массива из восьми элементов - C++
Найти наибольшее и наименьшее значение массива из восьми элементов по 2 байта каждый. В регистре АХ должен содержаться наибольший элемент,...


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

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

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