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

Оброботка одномерных массивов - C++

Восстановить пароль Регистрация
 
vityaa
 Аватар для vityaa
5 / 5 / 0
Регистрация: 06.02.2011
Сообщений: 52
07.12.2013, 23:18     Оброботка одномерных массивов #1
Дана последовательность чисел. Найти: среднеарифметическое значение, без учета минимального и максимального элементов.
-Размер массива должен вводиться с клавиатуры;
-Для работы с массивом необходимо использовать динамическую память;
-Сформированный массив должен быть отображен на экране;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.12.2013, 00:02     Оброботка одномерных массивов #2
Дана последовательность чисел. Найти: среднеарифметическое значение, без учета минимального и максимального элементов.
-Размер массива должен вводиться с клавиатуры;
-Для работы с массивом необходимо использовать динамическую память;
-Сформированный массив должен быть отображен на экране;
- Aвтор топика должен описать в чем проблема и предоставить свои потуги в ее решении;
vityaa
 Аватар для vityaa
5 / 5 / 0
Регистрация: 06.02.2011
Сообщений: 52
08.12.2013, 00:08  [ТС]     Оброботка одномерных массивов #3
Цитата Сообщение от DU Посмотреть сообщение
- Aвтор топика должен описать в чем проблема и предоставить свои потуги в ее решении;
Мои знания С++ очень слабы, так как изучаю его только, задали сделать, но увы не получается
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
08.12.2013, 00:39     Оброботка одномерных массивов #4
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main ()
{
    srand(time(NULL));
    int size = 0;
 
    cout << "Enter size: ";
    cin >> size;
 
    int *arr = new int[size];    // Создание массива
 
    for(int i = 0; i < size; i++)    // Инициализация и вывод массива на экран
    {
        arr[i] = rand() % 21 + (-10);
        cout << arr[i] << "  ";
    }
    cout << endl;
 
 
    int  max = arr[0], min = arr[0];
    for(int i = 0; i < size; i++)    // Нахождение максимального и минимального
    {
        if(arr[i] > max)
            max = arr[i];
        if(arr[i] < min)
            min = arr[i];
    }
 
    cout << "Max = " << max << endl;
    cout << "Min = " << min << endl;
 
    double summa = 0, k = 0;
    for(int i = 0; i < size; i++)    // Нахождение среднего арифметического по условию
    {
        if(arr[i] != max && arr[i] != min)
        {
            summa += arr[i];
            k++;
        }
    }
 
    cout << "Average is: " << summa / k << endl;
 
    delete [] arr;    // Удаление массива
 
    return 0;
}
vityaa
 Аватар для vityaa
5 / 5 / 0
Регистрация: 06.02.2011
Сообщений: 52
08.12.2013, 19:33  [ТС]     Оброботка одномерных массивов #5
Цитата Сообщение от OlegPL Посмотреть сообщение
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main ()
{
    srand(time(NULL));
    int size = 0;
 
    cout << "Enter size: ";
    cin >> size;
 
    int *arr = new int[size];    // Создание массива
 
    for(int i = 0; i < size; i++)    // Инициализация и вывод массива на экран
    {
        arr[i] = rand() % 21 + (-10);
        cout << arr[i] << "  ";
    }
    cout << endl;
 
 
    int  max = arr[0], min = arr[0];
    for(int i = 0; i < size; i++)    // Нахождение максимального и минимального
    {
        if(arr[i] > max)
            max = arr[i];
        if(arr[i] < min)
            min = arr[i];
    }
 
    cout << "Max = " << max << endl;
    cout << "Min = " << min << endl;
 
    double summa = 0, k = 0;
    for(int i = 0; i < size; i++)    // Нахождение среднего арифметического по условию
    {
        if(arr[i] != max && arr[i] != min)
        {
            summa += arr[i];
            k++;
        }
    }
 
    cout << "Average is: " << summa / k << endl;
 
    delete [] arr;    // Удаление массива
 
    return 0;
}
Я хотел бы спросить как оно считает среднее арефметическое, вот к примеру:
http://i.imgur.com/FvWjwC2.jpg

Хотя среднее должно быть: -3.25 а не -3
OlegPL
5 / 5 / 0
Регистрация: 22.10.2013
Сообщений: 100
09.12.2013, 12:09     Оброботка одномерных массивов #6
Максимальное значение откидывается, минимальное тоже откидывается. Остается -6 и 0. -6 + 0= -6, участвовали 2 числа, результат: -6 / 2 = -3
Yandex
Объявления
09.12.2013, 12:09     Оброботка одномерных массивов
Ответ Создать тему
Опции темы

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