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

Из вещественного массива X удалить все числа, превышающие среднее арифметическое элементов массива

08.02.2016, 17:08. Показов 2765. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из вещественного массива X удалить все числа, превышающие среднее арифметическое элементов массива.
Напишите пожалуйста полностью программу с выводом. С++
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2016, 17:08
Ответы с готовыми решениями:

Из целочисленного массива удалить все числа, превышающие среднее арифметическое простых элементов массива
Из целочисленного массива X удалить все числа, превышающие среднее арифметическое простых элементов массива.

Удалить из массива все элементы превышающие его среднее значение
1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2) Распечатать полученный массив. 3) Поменять...

Файлы: Найти среднее арифметическое его компонент и удалить все компоненты, превышающие среднее значение
Дан файл вещественных чисел. Найти среднее арифметическое его компонент и удалить все компоненты, превышающие среднее значение.

15
7 / 7 / 3
Регистрация: 19.03.2010
Сообщений: 182
08.02.2016, 18:04
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
#include <iostream>
using namespace std;
main(){
 
int n;
cin >>n;
double array[n];
double sum=0.;
int counter=0;
for (int i=0; i<n;++i)
{
    cin >> array[i];
    sum=sum+array[i];
}
sum=sum\n;
for (int i=n-1;i>=0;--i)
{
   if(array[i]>sum)
        for (int j=i;j<n-1;++j)
             {
                    array[j]=array[j+1]; 
                     ++counter;
              }        
}
for (int i=0; i<n-counter;++i)
    cout <<array[i]<<"  ";
system("pause");
}
PS писал с телефона, могут быть опечатки и разметка отсутствовать.
1
2 / 2 / 0
Регистрация: 18.09.2015
Сообщений: 72
08.02.2016, 19:23  [ТС]
Спасибо) Но ошибку выдаёт в предпоследней строке. Посмотри пожалуйста правильно я разметил?
Миниатюры
Из вещественного массива X удалить все числа, превышающие среднее арифметическое элементов массива  
0
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
08.02.2016, 21:33
Цитата Сообщение от Hidan990 Посмотреть сообщение
ошибку выдаёт в предпоследней строке.
Функция std::system объявлена в <cstdlib> . Добавьте
C++
1
#include <cstdlib>
Добавлено через 1 минуту
И надо указывать тип возращаемого значения функции:
C++
1
int main()
0
2 / 2 / 0
Регистрация: 18.09.2015
Сообщений: 72
08.02.2016, 22:08  [ТС]
Спасибо а куда массив вводить?
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
08.02.2016, 22:17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
 
int main()
{
    std::vector<double> vec {3.6, 8.4, 4.0, 7.1, 2.4, 4.4} ;
    double mid = mid=std::accumulate(vec.begin(), vec.end(), 0.0)/vec.size() ;
    vec.erase(
        std::remove_if (
            vec.begin(), 
            vec.end(), 
            [mid](auto val)
                {
                    return val>mid;
                }
        ), 
        vec.end()) ;
    for(auto e:vec)
        std::cout << e << ' ' ;
}
http://rextester.com/YZE43263
1
2 / 2 / 0
Регистрация: 18.09.2015
Сообщений: 72
09.02.2016, 21:11  [ТС]
Спасибо но не работает программа, везде ошибки указывает
0
27 / 27 / 37
Регистрация: 11.09.2014
Сообщений: 68
09.02.2016, 23:29
Лучший ответ Сообщение было отмечено Hidan990 как решение

Решение

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;
void search(int* arr, int size) {
    double sum, sr;
    int x = 0;
    // поиск среднего арифметического
    for (int i = 0; i < size;  i++) {
        sum += arr[i];
    }
    sr = (sum) / (size);
    cout << "Среднее арифметическое элементов массива: " << sr << endl;
    
    //удаление
    for (int i = size - 1; i >= 0; --i) {
        if (arr[i] > sr) {
            for (int j = i; j < size-1; ++j) {
                arr[j] = arr[j+1];
                ++x;
            }
        }
    }
}
 
int main() {
    int size;
    int arr[100];
    cout << "Введите длину массива: ";
    cin >> size;
    cout << "Введите элементы массива: " << endl;
    for(int i = 0; i<size; i++) {
        cout << "       [" << i << "] - ";
        cin >> arr[i];
    }
    search(arr,size);
    cout << "Преобразованный массив: " << endl;
    for(int i = 0; i<size; i++) {
        cout << "       [" << i << "] - ";
        cout << arr[i] << endl;
    }
 
}
1
7 / 7 / 3
Регистрация: 19.03.2010
Сообщений: 182
10.02.2016, 10:23
Hidan990, ошибку выдавал в предпоследней строке поскольку ты не подключил библиотеку #include<windows>, которая нужна для этой функции.
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
10.02.2016, 14:57
feck, <cstdlib>
0
2 / 2 / 0
Регистрация: 18.09.2015
Сообщений: 72
11.02.2016, 13:44  [ТС]
Большое спасибо, программа выполняется, но она не удаляет числа( по условию), а лишь присваивает им значение последнего элемента массива, можете сделать так чтобы удалялись числа, превышающие ср. арифм. С меня спасибки.
0
27 / 27 / 37
Регистрация: 11.09.2014
Сообщений: 68
11.02.2016, 14:11
т.е. удалять?
Дан массив: 1, 2, 99, 3, 4
Ср.ар = 21.8
Вывод: 1, 2, NULL, 3, 4
так?
или же, вывод: 1, 2, 3, 4.
Присваивание - это и есть способ удаления элементов массива из него
0
7 / 7 / 3
Регистрация: 19.03.2010
Сообщений: 182
12.02.2016, 10:50
Hidan990, может, тогда тебе создавать вектор, а не массив?
0
2 / 2 / 0
Регистрация: 18.09.2015
Сообщений: 72
12.02.2016, 18:09  [ТС]
Дан массив: 1, 2, 99, 3, 4
Ср.ар = 21.8
или же, вывод: 1, 2, 3, 4
Так если можно, но если не получится то и NULL подойдёт
0
2 / 2 / 0
Регистрация: 18.09.2015
Сообщений: 72
14.02.2016, 23:54  [ТС]
Помогите плиз
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
15.02.2016, 00:39
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>
 
double average(const double* a, int n)
{
    double sum = 0;
    for (int i = 0; i < n; ++i) 
        sum += a[i];
    return sum / n;
}
 
int remove_if_greater(double* a, int n, double x)
{
    int j = 0;
    for (int i = 0; i < n; ++i)    
        if (a[i] <= x) a[j++] = a[i];                     
    return j;
}
 
int main()
{    
    double a[5];
    int n = sizeof(a) / sizeof(double);
 
    for (int i = 0; i < n; ++i) 
        std::cin >> a[i];    
 
    double x = average(a, n);
 
    std::cout << "average\n" << x << '\n';
    n = remove_if_greater(a, n, x);
    std::cout << "result array\n";
    for (int i = 0; i < n; ++i) 
        std::cout << a[i] << ' ';
    std::cout << std::endl;   
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2016, 00:39
Помогаю со студенческими работами здесь

Удалить из массива все элементы, превышающие его среднее значение более, чем на 10%
Сформировать одномерный массив целых чисел используя ДСЧ. Распечатать получившийся массив. Поменять местами min и max элементы. ...

Удалить все строки, в которых среднее арифметическое элементов массива является двузначным числом
2) В двумерном массиве, элементы которого - целые числа, произвести следующие действия:Удалить все строки, в которых среднее...

Найти среднее арифметическое значение элементов вещественного массива
Привет ребята. Помогите написать код. Я вот только начал знакомство с программированием и еще пока не разбираюсь,ни в циклах, ни в...

Вычислить среднее арифметическое отрицательных элементов одномерного вещественного массива
Найти среднее арифметическое отрицательных элементов одномерного вещественного массива(если отрицательных нет-вывести сообщение) ...

Найти среднее арифметическое отрицательных элементов одномерного вещественного массива
Выдаёт арифметическое переполнение, что сделать то? само условие: Найти среднее арифметическое отрицательных элементов одномерного...


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

Или воспользуйтесь поиском по форуму:
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