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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Михан
8 / 8 / 1
Регистрация: 05.11.2009
Сообщений: 74
#1

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

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

Вот, что получилось.
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
Миниатюры
Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2013, 22:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, которая вычисляет среднее арифметическое элементов массива без учета макси-мального (C++):

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

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

Написать программу,которая вычисляет среднее арифметическое - C++
Решить задачу двумя методами:используя цикл for и используя цикл whilе(либо do-whilе). Написать программу,которая вычисляет среднее...

Написать программу, которая вычисляет среднее арифметическое - C++
Помогите пожалуйста написать программу, которая вычисляет среднее арифметическое последовательности дробных чисел, вводимых с клавиатуры.

Написать программу , которая вычисляет среднее арифметическое /С++ Для начинающих - C++
Помогите пожалуйста с программой!C++ &quot;Написать программу , которая вычисляет среднее арифметическое вводимой с клавиатуры...

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

7
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
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
Михан
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;
}
Исправил, но не могу понять, если не среднеарифметическое не целое число, то он округляет блин.
0
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
27.01.2013, 22:38 #4
sr , sum , max , a[50] объяви с типом double
1
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
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
Михан
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;
}
0
we2seek
79 / 79 / 17
Регистрация: 25.01.2010
Сообщений: 385
27.01.2013, 23:05 #7
Я бы поступил следующим образом:
C++
1
2
double sr = 1.0;
sr = ( (double)(sum-max) ) / ( (double)(n-1) );
ValeryS, мы же без максимального элемента работаем ^_^.
0
ValeryS
Модератор
6651 / 5060 / 470
Регистрация: 14.02.2011
Сообщений: 16,918
27.01.2013, 23:20 #8
Цитата Сообщение от we2seek Посмотреть сообщение
ValeryS, мы же без максимального элемента работаем ^_^.
да я это уже понял когда написал
но тогда надо предусмотреть вариант когда в массиве 1 элемент
получим 0/0
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2013, 23:20
Привет! Вот еще темы с ответами:

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

Написать функцию, которая вычисляет среднее арифметическое элементов непустого списка - C++
вот сам списаок program prog; type pItem = ^Item; Item = record data: integer; next: pItem; end;

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

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


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
27.01.2013, 23:20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru