0 / 0 / 0
Регистрация: 13.10.2017
Сообщений: 1
1

Найти min, max, avg

27.12.2017, 03:14. Показов 949. Ответов 3
Метки нет (Все метки)

N чисел, min, max, avg: с клавиатуры ввести N чисел, признаком окончания ввода считать ввод -1; найти среди них min, max, avg - без учета введенной последней -1.
помогите пожалуйста, как обозначить конец ввода и задать массив из N количества элементов?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2017, 03:14
Ответы с готовыми решениями:

Min, Max, Avg
Всем привет. У меня есть код программы, которая определяет макс. значение, мин. значение и среднее...

Найти max и min, если min левее max, то среднее арифметическое между ними
#include <iostream.h> #include <stdio.h> #include <conio.h> #include <math.h> void main() {...

Найти min(max(x, y), max(x, z), max(z, d)
Даны различные действительные числа x, y, z, d. Найти min(max(x, y), max(x, z), max(z, d)).

Найти max {min (a, b), min (c, d)}.
Найти max {min (a, b), min (c, d)}.

3
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
27.12.2017, 05:00 2
C++
1
while (cin >> x && x != -1) {
Добавлено через 1 минуту
Цитата Сообщение от Aevon Посмотреть сообщение
и задать массив
А зачем тут массив? В задаче просят найти минимум, максимум, среднее, можно это легко без массива сделать.
0
7421 / 5016 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
27.12.2017, 05:36 3
Пока суть да дело пробую через массив. Работает но выдаёт пару предупреждений. Что нужно подправить?

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
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int k=0;
    double n[1000000], mintek, maxtek, sum=0;
    while (n[k-1]!=-1)
    {
    cout<<"n"<< k+1 <<"="; cin >> n[k];    
    k++;
    }     
    mintek=n[0];
    maxtek=n[0];    
    for(int i=0; i<k-1; i++)
    {
    if(n[i]<=mintek) mintek=n[i];
    if(n[i]>=maxtek) maxtek=n[i];
    sum+=n[i];    
    }    
    cout <<"min="<<mintek<<" "<<"max="<<maxtek<<" "<<"avg="<<sum/(k-1);
    system("pause");
    return 0;
}
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
27.12.2017, 05:56 4
Цитата Сообщение от Yetty Посмотреть сообщение
while (n[k-1]!=-1)
Глупость же. Прямо на первой итерации обращаемся к элементу n[-1], а такого нет, в результате может быть все что угодно: программа может упасть, а может и не упасть.
Цикл вот таким сделать.
C++
1
2
3
4
5
6
while (true) { 
   cout<<"n"<< k+1 <<"="; 
   cin >> n[k];
   if (n[k] == -1) break;
   ++k;
}
Цитата Сообщение от Yetty Посмотреть сообщение
for(int i=0; i<k-1; i++)
Тут i < k.
Цитата Сообщение от Yetty Посмотреть сообщение
sum/(k-1)
И тут делить на k.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2017, 05:56
Помогаю со студенческими работами здесь

Найти min/max
Проходит 95%, где ошибка? Я не совсем уверена в этом if(n&gt;1) printf(&quot;%d %d&quot;,min,max); Иван...

Найти y=max(a,b,c,d)*min(a,b,c,d)
Нужно использовать функции

Найти z=min{x,y}+max{xy,x+y}
найти z=min{x,y}+max{xy,x+y} Заранее благодерн

Найти min-max и умножить
Есть матрица, надо найди min-max, это сделали. Как умножить min на max и вывести результат? ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru