Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
9 / 9 / 3
Регистрация: 05.11.2009
Сообщений: 74
1

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

27.01.2013, 22:08. Показов 2286. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот, что получилось.
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 дня стажа всего). Прога компилируется, но считает не верно
Миниатюры
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2013, 22:08
Ответы с готовыми решениями:

Написать программу которая вычисляет среднее арифметическое нулевых элементов массива M[1..10]
Написать программу которая вычисляет среднее арифметическое нулевых элементов массива M

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

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

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

7
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
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
0
9 / 9 / 3
Регистрация: 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;
}
Исправил, но не могу понять, если не среднеарифметическое не целое число, то он округляет блин.
0
57 / 45 / 14
Регистрация: 04.11.2012
Сообщений: 106
27.01.2013, 22:38 4
sr , sum , max , a[50] объяви с типом double
1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
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;
1
9 / 9 / 3
Регистрация: 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;
}
0
84 / 84 / 42
Регистрация: 25.01.2010
Сообщений: 386
27.01.2013, 23:05 7
Я бы поступил следующим образом:
C++
1
2
double sr = 1.0;
sr = ( (double)(sum-max) ) / ( (double)(n-1) );
ValeryS, мы же без максимального элемента работаем ^_^.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
27.01.2013, 23:20 8
Цитата Сообщение от we2seek Посмотреть сообщение
ValeryS, мы же без максимального элемента работаем ^_^.
да я это уже понял когда написал
но тогда надо предусмотреть вариант когда в массиве 1 элемент
получим 0/0
0
27.01.2013, 23:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.01.2013, 23:20
Помогаю со студенческими работами здесь

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

Написать программу, которая вычисляет среднее арифметическое его элементов двумерного массива по строкам.
Здасти:) У меня тут проблема с программой. Не могу все понять как её сделать. В общем чайник пока,...

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru