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

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

Войти
Регистрация
Восстановить пароль
 
 
Hidan990
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 72
#1

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

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

Из вещественного массива X удалить все числа, превышающие среднее арифметическое элементов массива.
Напишите пожалуйста полностью программу с выводом. С++
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2016, 17:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Из вещественного массива X удалить все числа, превышающие среднее арифметическое элементов массива (C++):

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

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

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

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

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

Найти среднее арифметическое элементов массива расположенных после последнего совершенного числа - C++
Помогите пожалуйста составить программу. Из положительных значений двух целочисленных массивов различной размерности сформировать общий...

15
feck
7 / 7 / 1
Регистрация: 19.03.2010
Сообщений: 182
08.02.2016, 18:04 #2
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
Hidan990
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 72
08.02.2016, 19:23  [ТС] #3
Спасибо) Но ошибку выдаёт в предпоследней строке. Посмотри пожалуйста правильно я разметил?
0
Миниатюры
Из вещественного массива X удалить все числа, превышающие среднее арифметическое элементов массива  
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
08.02.2016, 21:33 #4
Цитата Сообщение от Hidan990 Посмотреть сообщение
ошибку выдаёт в предпоследней строке.
Функция std::system объявлена в <cstdlib> . Добавьте
C++
1
#include <cstdlib>
Добавлено через 1 минуту
И надо указывать тип возращаемого значения функции:
C++
1
int main()
0
Hidan990
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 72
08.02.2016, 22:08  [ТС] #5
Спасибо а куда массив вводить?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
08.02.2016, 22:17 #6
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
Hidan990
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 72
09.02.2016, 21:11  [ТС] #7
Спасибо но не работает программа, везде ошибки указывает
0
Констатнин
26 / 26 / 15
Регистрация: 11.09.2014
Сообщений: 68
Завершенные тесты: 1
09.02.2016, 23:29 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
feck
7 / 7 / 1
Регистрация: 19.03.2010
Сообщений: 182
10.02.2016, 10:23 #9
Hidan990, ошибку выдавал в предпоследней строке поскольку ты не подключил библиотеку #include<windows>, которая нужна для этой функции.
0
Croessmah
Ушел
Эксперт CЭксперт С++
13554 / 7705 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
10.02.2016, 14:57 #10
feck, <cstdlib>
0
Hidan990
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 72
11.02.2016, 13:44  [ТС] #11
Большое спасибо, программа выполняется, но она не удаляет числа( по условию), а лишь присваивает им значение последнего элемента массива, можете сделать так чтобы удалялись числа, превышающие ср. арифм. С меня спасибки.
0
Констатнин
26 / 26 / 15
Регистрация: 11.09.2014
Сообщений: 68
Завершенные тесты: 1
11.02.2016, 14:11 #12
т.е. удалять?
Дан массив: 1, 2, 99, 3, 4
Ср.ар = 21.8
Вывод: 1, 2, NULL, 3, 4
так?
или же, вывод: 1, 2, 3, 4.
Присваивание - это и есть способ удаления элементов массива из него
0
feck
7 / 7 / 1
Регистрация: 19.03.2010
Сообщений: 182
12.02.2016, 10:50 #13
Hidan990, может, тогда тебе создавать вектор, а не массив?
0
Hidan990
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 72
12.02.2016, 18:09  [ТС] #14
Дан массив: 1, 2, 99, 3, 4
Ср.ар = 21.8
или же, вывод: 1, 2, 3, 4
Так если можно, но если не получится то и NULL подойдёт
0
Hidan990
1 / 1 / 0
Регистрация: 18.09.2015
Сообщений: 72
14.02.2016, 23:54  [ТС] #15
Помогите плиз
0
14.02.2016, 23:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2016, 23:54
Привет! Вот еще темы с ответами:

Найти среднее арифметическое элементов массива, и обнулить все элементы, меньшие найденного значения - C++
Программа должна осуществлять ввод массива из 80 вещественных элементов (либо по выбору пользователя задать их через функцию rand()...

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

Найти среднее арифметическое элементов массива, сравнить два массива поэлементно - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; void main() { float x, y, SA; int K, KOL,...

Сформировать массив X из элементов массива A, значения которых не превышают среднее арифметическое массива A - C++
Помогите с выводом массива X пожалуйста никак не получается по нормальному(( и если можно осуществить сдвиг вправо на две позиции. ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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