Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/40: Рейтинг темы: голосов - 40, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 3

Вычислить среднее арифметическое элементов массива без учета минимального и максимального элементов массива

05.05.2014, 19:06. Показов 7964. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2014, 19:06
Ответы с готовыми решениями:

Среднее арифметическое элементов массива без учета минимального и максимального элементов
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива....

Найти среднее арифметическое элементов массива без учета минимального и максимального элементов
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов....

Найти среднее арифметическое элементов массива без учёта максимального и минимального элементов
Нужно найти среднее арифметическое элементов массива без учёта максимального и минимального элементов. // Middle arithmetic without...

15
 Аватар для mster-doc
16 / 16 / 12
Регистрация: 10.11.2012
Сообщений: 244
05.05.2014, 20:01
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> 
 
using namespace std;
 
int main() 
{   
    const int size = 5;
    int array[size] = { 1,2,3,4,5}; 
    int i; 
    int summa = 0; 
 
    for ( i = 0; i < size; i++) 
        summa += array[i]; 
    cout << "Average " << summa / size << endl;
    
    system("pause");
    return 0;
}
1
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
05.05.2014, 20:13
mster-doc, твоя программа :
1. не выполняет то что просил тс, а именно среднее арифметическое без учета максимального и минимального элементов
2. даже просто среднее арифметическое будет посчитано неверно, так как в результате всегда будет целое значение, а разве не может быть действительное?
1
Mobile Software Engineer
Эксперт С++
 Аватар для Ev[G]eN
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
05.05.2014, 20:30
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
#include <functional>
#include <algorithm>
#include <iostream>
#include <numeric>
#include <array>
 
int main()
{
    const size_t arraySize = 5;
    std::array <int, arraySize> array;
    
    std::cout << "Input " << arraySize << " elements: " << std::endl;
    for (auto &iterator : array) {
        std::cin >> iterator;
    }
 
    auto minimal_maximal = std::minmax_element(array.begin(), array.end());
    double average = std::accumulate(array.begin(), array.end(), 0.0, [minimal_maximal](double tempSum, int currentElement) -> double {
        tempSum += (currentElement != *minimal_maximal.first) && (currentElement != *minimal_maximal.second) ? currentElement : 0;
        return tempSum;
    });
    std::cout << "Average: " << (average /= (arraySize - 2)) << std::endl;
 
    std::system("pause");
    return 0;
}
1
54 / 54 / 41
Регистрация: 20.12.2012
Сообщений: 256
05.05.2014, 20:38
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
#include <iostream>
 
using namespace std;
 
int main()
{
    double *arr, summ = 0.0;
    int num = 0;
    cout << "Vvedite colichestvo chisel: ";
    cin >> num;
    arr = new double[num];
 
    for(int i = 1; i <= num; i++){
        cout << "arr[" << i << "] = ";
        cin >> arr[i-1];
    }
 
    for(int i = 1; i <= num; i++){
        summ += arr[i-1];
    }
    
    cout << "sred. aryf. = " << summ / num << endl;
 
    system("PAUSE << void");
    return 0;
}
0
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
05.05.2014, 20:39
Цитата Сообщение от ViktorNMax Посмотреть сообщение
C++
1
2
3
for(int i = 1; i <= num; i++){
     summ += arr[i-1];
   }
циклы с 0 для лохов)
0
Mobile Software Engineer
Эксперт С++
 Аватар для Ev[G]eN
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
05.05.2014, 20:40
ViktorNMax,
Цитата Сообщение от cooller Посмотреть сообщение
твоя программа :
1. не выполняет то что просил тс, а именно среднее арифметическое без учета максимального и минимального элементов
и от себя добавлю, возьмите в привычку освобождать память после оператора new
1
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
05.05.2014, 20:43
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
и от себя добавлю, возьмите в привычку освобождать память после оператора new
или использовать вектор)
0
54 / 54 / 41
Регистрация: 20.12.2012
Сообщений: 256
05.05.2014, 20:49
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
#include <iostream>
 
using namespace std;
 
int main()
{
    double *arr, summ = 0.0, min = 0, max = 0;
    int num = 0, numt = 0;
    cout << "Vvedite colichestvo chisel: ";
    cin >> num;
    arr = new double[num];
 
    for(int i = 1; i <= num; i++){
        
        cout << "arr[" << i << "] = ";
        cin >> arr[i-1];
        
        if(i == 1){
            min = arr[0]; max = arr[0];
        }
 
        if(arr[i-1] < min)
            min = arr[i-1];
        if(arr[i-1] > max)
            max = arr[i-1];
    }
 
    
    for(int i = 1; i <= num; i++){
        if((arr[i-1] != min) && (arr[i-1] != max)){
            summ += arr[i-1];
            numt++;
        }
    }
    
    cout << "sred. aryf. = " << summ / numt << endl;
    delete arr;
 
    system("PAUSE >> void");
    return 0;
}
Теперь все правильно))
0
 Аватар для mster-doc
16 / 16 / 12
Регистрация: 10.11.2012
Сообщений: 244
05.05.2014, 20:50
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
#include <iostream> 
 
using namespace std;
 
int main() 
{   
         
    const int size = 5;
    int array[size] = { 1,2,3,4,5}; 
    int i; 
    double summa = 0;
    double summa_bez_max_min;
    
setlocale(0,"rus");
int temp;
    cout << "Âõîäíîé ÷èñëîâîé ìàññèâ:\n\n";
    for (int i = 0; i < size; i++) cout << "  " << array[i];
    
    int min = 0, max = 0;
 
    for (int i = 1; i < size; i++)
     { if (array[i] < array[min]) min = i;
       if (array[i] > array[max]) max = i;
     }
 
    cout << "\n\nÌèíèìàëüíûé ýëåìåíò:  " << array[min]
         << "\nÌàêñèìàëüíûé ýëåìåíò: " << array[max]<< endl ; 
          
    
    for (int i = 0; i < size; i++)
    summa += array[i];
    summa_bez_max_min=summa-(array[min]+array[max]);
    
    cout<< "Ñðåäíåå àðèôìåòè÷åñêîå áåç ó÷¸òà ìàêñèìàëüíîãî è ìèíèìàëüíîãî ýëåìåíòîâ: ";
    cout << summa_bez_max_min/size << endl;
 
    cout << endl;
 
    
      
 
    system("pause");
    return 0;
}
0
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
05.05.2014, 20:54
Цитата Сообщение от ViktorNMax Посмотреть сообщение
Теперь все правильно))
уверен?
почему цикл с 1?

Добавлено через 34 секунды
mster-doc,
Цитата Сообщение от mster-doc Посмотреть сообщение
summa_bez_max_min/size
делить на size-2
0
 Аватар для mster-doc
16 / 16 / 12
Регистрация: 10.11.2012
Сообщений: 244
05.05.2014, 20:55
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
и от себя добавлю, возьмите в привычку освобождать память после оператора new
я не использовал этот оператор
0
54 / 54 / 41
Регистрация: 20.12.2012
Сообщений: 256
05.05.2014, 20:58
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
#include <iostream>
 
using namespace std;
 
int main()
{
    double *arr, summ = 0.0, min = 0, max = 0;
    int num = 0, numt = 0;
    cout << "Vvedite colichestvo chisel: ";
    cin >> num;
    arr = new double[num];
 
    for(int i = 0; i < num; i++){
        
        cout << "arr[" << i << "] = ";
        cin >> arr[i];
        
        if(i == 0){
            min = arr[0]; max = arr[0];
        }
 
        if(arr[i] < min)
            min = arr[i];
        if(arr[i] > max)
            max = arr[i];
    }
 
    
    for(int i = 0; i < num; i++){
        if((arr[i] != min) && (arr[i] != max)){
            summ += arr[i];
            numt++;
        }
    }
    
    cout << "sred. aryf. = " << summ / numt << endl;
    delete arr;
 
    system("PAUSE >> void");
    return 0;
}
Я даже не знаю что на меня нашло, но начиная с 0 выглядит намного приятнее
0
 Аватар для mster-doc
16 / 16 / 12
Регистрация: 10.11.2012
Сообщений: 244
05.05.2014, 20:58
Цитата Сообщение от cooller Посмотреть сообщение
делить на size-2
В смысле? мы делим на размер масива
0
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
05.05.2014, 21:00
mster-doc, среднее арифметическое - это сумма элементов деленное на ИХ количество. В сумме было задействовано size - 2 элемента (без макс и мин), значит и делить должны на это количество
1
 Аватар для mster-doc
16 / 16 / 12
Регистрация: 10.11.2012
Сообщений: 244
05.05.2014, 21:20
И правда)) спасибо.
Кликните здесь для просмотра всего текста
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
#include <iostream> 
 
using namespace std;
 
int main() 
{   
         
    const int size = 5;
    int array[size] = { 1,2,3,4,5}; 
    int i; 
    double summa = 0;
    double summa_bez_max_min;
    
setlocale(0,"rus");
int temp;
    cout << "Âõîäíîé ÷èñëîâîé ìàññèâ:\n\n";
    for (int i = 0; i < size; i++) cout << "  " << array[i];
    
    int min = 0, max = 0;
 
    for (int i = 1; i < size; i++)
     { if (array[i] < array[min]) min = i;
       if (array[i] > array[max]) max = i;
     }
 
    cout << "\n\nÌèíèìàëüíûé ýëåìåíò:  " << array[min]
         << "\nÌàêñèìàëüíûé ýëåìåíò: " << array[max]<< endl ; 
          
    
    for (int i = 0; i < size; i++)
    summa += array[i];
    summa_bez_max_min=summa-(array[min]+array[max]);
    
    cout<< "Ñðåäíåå àðèôìåòè÷åñêîå áåç ó÷¸òà ìàêñèìàëüíîãî è ìèíèìàëüíîãî ýëåìåíòîâ: ";
    cout << summa_bez_max_min/(size-2) << endl;
 
    cout << endl;
 
    
      
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2014, 21:20
Помогаю со студенческими работами здесь

Вычислите среднее арифметическое элементов последовательности без учета минимального и максимального
Дана последовательность из n целых чисел (n&lt;=200). Вычислите среднее арифметическое элементов последовательности без учета минимального и...

Найти среднее значение элементов массива (без учёта максимального и минимального) и вывести результат на экран
Условие задачи (добавлено спустя сутки после начала обсуждения, так что не удивляйтесь): #include &lt;iostream&gt; #include...

Вычислить среднее арифметическое максимального и минимального элементов массива
Вычислить среднее арифметическое максимального и минимального элементов массива

Высчитать среднее арифметическое элементов масива без учета минимального и максимального элемента
Помогите решить задачи( Вторая задача: Написать программу которая считает среднее арифметическое элементов масива без учета...

Определить среднее арифметическое минимального и максимального элементов массива
Определить среднее арифметическое минимального и максимального элементов массива A (n), где 0 &lt;= n &lt;= 120.


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru