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

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

Восстановить пароль Регистрация
 
Михан
 Аватар для Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
27.01.2013, 22:08     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального #1
Вот, что получилось.
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
 #include <iostream>
#include <iomanip>
 
using namespace std;
int main()
{
        setlocale(LC_ALL,"Russian");
        int sum=0, max,n,i;
        float a[50], sr;
    cout << "Введите размерность:\n";
    cin >> n;
    cout << "Введите массив:\n";
    for (i=0; i<n; i++)
        cin >> a[i];
        
        max=a[0];
        for (int i=0; i<10; i++)
        {
               if(a[i]>max)
               {
                   max=a[i];
               }
        }
        sr=(sum-max)/n;
        cout<<"Максимальный элемент: "<<max<<endl;
        cout.setf(ios::fixed);
        cout.precision(2);
        cout<<"Среднее арифметическое без учета max значения: "<<sr<<endl;
        system("pause");
        return 0;
}
Где то накосячил, а понять где не могу(ибо 2 дня стажа всего). Прога компилируется, но считает не верно
Миниатюры
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2013, 22:08     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального
Посмотрите здесь:

C++ Написать программу, которая вычисляет среднее арифметическое ненулевых элементов введенного с клавиатуры массива целых чисел.
Написать программу,которая вычисляет среднее арифметическое C++
C++ Написать профамму, которая вычисляет среднее арифметическое ненулевых элементов введенного с клавиатуры массива
C++ Написать программу, которая вычисляет среднее арифметическое
2.1 Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива. Организов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
27.01.2013, 22:12     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального #2
Цитата Сообщение от Михан Посмотреть сообщение
Где то накосячил, а понять где не могу
Цитата Сообщение от Михан Посмотреть сообщение
sr=(sum-max)/n;
а где ты sum то считаешь?

Добавлено через 1 минуту
Цитата Сообщение от Михан Посмотреть сообщение
int sum=0, max,n,i;
Цитата Сообщение от Михан Посмотреть сообщение
float a[50],
Цитата Сообщение от Михан Посмотреть сообщение
max=a[i];
ты уж определись float или int
Михан
 Аватар для Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
27.01.2013, 22:35  [ТС]     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального #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
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <iomanip>
 
using namespace std;
int main()
{
        setlocale(LC_ALL,"Russian");
        int sum=0, max,n,i,a[50], sr;    
    cout << "Введите размерность:\n";
    cin >> n;
    cout << "Введите массив:\n";
    for (i=0; i<n; i++)
        cin >> a[i];
       
        max=a[0];
        for (int i=0; i<n; i++)
       
        {
               if(a[i]>max)
               {
                   max=a[i];
               }
        }
        sum = 0;
for (i = 0; i < n; i++)
  sum = sum + a[i];
        sr=(sum-max)/(n-1);
        cout<<"Максимальный элемент: "<<max<<endl;
        cout.setf(ios::fixed);
        cout.precision(2);
        cout<<"Среднее арифм. без учета  max значения: "<<sr<<endl;
        system("pause");
        return 0;
}
Исправил, но не могу понять, если не среднеарифметическое не целое число, то он округляет блин.
Starscream
 Аватар для Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
27.01.2013, 22:38     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального #4
sr , sum , max , a[50] объяви с типом double
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
27.01.2013, 22:42     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального #5
да потому что у тебя массив и максимальное и сумма
все int
Цитата Сообщение от Михан Посмотреть сообщение
int sum=0, max,n,i,a[50], sr;
а int не работает с дробями
Цитата Сообщение от Михан Посмотреть сообщение
среднеарифметическое не целое число, то он округляет блин.
не округляет а отбрасывает дробь
даже если будет 5.999999
то все равно значение будет 5

Добавлено через 2 минуты
если хочешь получить дробное
C++
1
2
float sr; 
sr=((float)sum-(float)max)/(float)n;
Михан
 Аватар для Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
27.01.2013, 22:59  [ТС]     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального #6
Всем спасибо. Заработала. Конечный вариант
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>
#include <iomanip>
 
using namespace std;
int main()
{
        setlocale(LC_ALL,"Russian");
        int sum=0, max,n,i,a[50]; 
         float sr;   
    cout << "Введите размерность:\n";
    cin >> n;
    cout << "Введите массив:\n";
    for (i=0; i<n; i++)
        cin >> a[i];
       
        max=a[0];
        for (int i=0; i<n; i++)
       
        {
               if(a[i]>max)
               {
                   max=a[i];
               }
        }
        sum = 0;
    for (i = 0; i < n; i++)
  sum = sum + a[i];
       sr=((float)sum-(float)max)/((float)n-1);
        cout<<"Максимальный элемент: "<<max<<endl;
        cout.setf(ios::fixed);
        cout.precision(2);
        cout<<"Среднее арифм. без учета  max значения: "<<sr<<endl;
        system("pause");
        return 0;
}
we2seek
 Аватар для we2seek
56 / 56 / 12
Регистрация: 25.01.2010
Сообщений: 288
27.01.2013, 23:05     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального #7
Я бы поступил следующим образом:
C++
1
2
double sr = 1.0;
sr = ( (double)(sum-max) ) / ( (double)(n-1) );
ValeryS, мы же без максимального элемента работаем ^_^.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2013, 23:20     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального
Еще ссылки по теме:

Написать программу , которая вычисляет среднее арифметическое /С++ Для начинающих C++
C++ Вычислить среднее арифметическое элементов массива без учета минимального и максимального элементов массива
Написать программу, используя функцию, которая вычисляет среднее арифметическое C++

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
27.01.2013, 23:20     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального #8
Цитата Сообщение от we2seek Посмотреть сообщение
ValeryS, мы же без максимального элемента работаем ^_^.
да я это уже понял когда написал
но тогда надо предусмотреть вариант когда в массиве 1 элемент
получим 0/0
Yandex
Объявления
27.01.2013, 23:20     Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального
Ответ Создать тему
Опции темы

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