0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 15
1

Удалить элементы, значение которых меньше среднего значения всех элементов массива

07.03.2019, 19:50. Показов 5895. Ответов 2
Метки нет (Все метки)

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "pch.h" 
#include <iostream> 
#include <ctime> 
using namespace std;
 
int main()
{
    srand((unsigned)time(NULL));
    setlocale(LC_ALL, "Rus");
    float s(0.0);
    int n, m, k, f(0), sum(0);
    int i, j;
 
    cout << "Введите количество строк массива: ";
    cin >> n;
    cout << "\n";
    cout << "Введите количество столбцов массива: ";
    cin >> m;
    cout << "\n";
 
    int **A = new int*[n];
    for (int i = 0; i < n; i++)
        {
            A[i] = new int[m];
            for (int j = 0; j < m; j++)
            {
                A[i][j] = (rand() % 100);
                cout << A[i][j] << " ";
            }
        }
        cout << "\n";
 
        for (i = 0; i < n; ++i)
            for (j = 0; j < m; ++j)
        sum += A[i][j];
        k = n * m;
        s = (float)sum / k;
 
        for (i = 0; i < n; ++i)
                for (j = 0; j < m; ++j)
                    if (A[i][j] < s);
 
        cout << "Сумма: " << sum << "\n";
        cout << "\n";
        cout << "Среднее значение: " << s << "\n";
        cout << "\n";
        cout << "Элементы массива меньше среднего: " << A[i][j] << "\n";
        cout << "\n";
        for (i = 0; i < n; i++)
        {
            delete[] A[i];
        }
        delete[] A;
        system("Pause");
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2019, 19:50
Ответы с готовыми решениями:

Заменить все элементы, значение которых меньше среднего арифметического всех элементов массива на нулевые
Мое задание: Заменить все элементы, значение которых меньше среднего арифметического всех элементов...

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

Вывести на экран элементы и индексы элементов, которые меньше среднего значения всех элементов массива
Написать программу, в которой: 1. Задать массив целых чисел длиной согласно варианту. ...

Все элементы массива, значения которых на 50% меньше среднего или на 50% больше среднего значения, заменить нулем
Вычислить среднее значение элементов массива. Вывести на дисплей полученное значение. После этого...

2
330 / 145 / 56
Регистрация: 17.10.2015
Сообщений: 580
08.03.2019, 00:30 2
Лучший ответ Сообщение было отмечено flanagun как решение

Решение

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "pch.h" 
#include <iostream> 
#include <ctime> 
using namespace std;
 
int main()
{
    //Установка русского языка в консоли - плохая привычка
    //setlocale(LC_ALL, "Rus");
 
    srand((unsigned)time(NULL));
 
    double n, m;
    while (true)
    {
        cout << "Enter the number of rows in the matrix: ";
        cin >> n;
 
        cout << "Enter the number of cols in the matrix: ";
        cin >> m;
 
        if (n > 0 && m > 0)
            break;
    }
 
    cout << "Matrix: " << endl;
    int ** A = new int*[n];
    for (int i = 0; i < n; i++)
    {
        A[i] = new int[m];
        for (int j = 0; j < m; j++)
        {
            A[i][j] = rand() % 100 + 1;
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
 
    double average = 0.0;
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            average += A[i][j];
 
    cout << "Sum: " << average << endl;
    average /=  n * m;
    cout << "Average: " << average << endl;
 
    //Удаляем с массива числа меньше среднего - устанавливая указатель в NULL
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            if (A[i][j] < average)
                A[i][j] = NULL;
 
    cout << "Items are above average: " << average << endl;
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            if (A[i][j])
                cout << A[i][j] << " ";
    cout << endl;
 
    for (int i = 0; i < n; i++)
        delete[] A[i];
    delete[] A;
 
    system("pause");
}
1
0 / 0 / 0
Регистрация: 07.03.2019
Сообщений: 15
08.03.2019, 01:24  [ТС] 3
Спасибо!
Насчёт установки русского языка, - приму к сведению.
0
08.03.2019, 01:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2019, 01:24
Помогаю со студенческими работами здесь

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

Заменить все элементы массива, которые меньше среднего арифметического значения всех элементов
Помогите, пожалуйста, правильно написать программу. Я написал код, но он не запускается. ...

Удалить из массива все элементы, которые меньше среднеарифметического значения всех элементов исходного массива
Дан массив из n действительных чисел. Удалить из массива все элементы, которые меньше...

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


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

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

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