Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
vetal_m
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 14
1

Каждый элемент столбца матрицы разделить на среднее арифметическое элементов данного столбца

16.04.2016, 09:59. Просмотров 338. Ответов 5
Метки нет (Все метки)

Заданный массив действительных чисел А (n, n). Необходимо каждый элемент столбца разделить на среднее арифметическое элементов данного столбца. На печать вывести начальный и результирующий массивы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2016, 09:59
Ответы с готовыми решениями:

Умножить каждый элемент столбца матрицы A(n, m) на первый элемент данного столбца.
Помогите, пожалуйста, написать программу: Умножить каждый элемент столбца...

Дано матрицу А размером 8x7. Разделить каждый элемент столбца на элемент этого столбца...
Дано матрицу А размером 8x7. разделить каждый элемент столбца на элемент этого...

Разделить элементы каждого столбца заданной матрицы на последний элемент столбца
Разделить элементы каждого столбца заданной матрицы на последний элемент...

Двумерный массив (каждый элемент массива разделить на среднее арифметическое этих элементов)
Задан массив действительных чисел А(n). Необходимо каждый элемент массива...

Среднее арифметическое элементов каждого столбца матрицы
Что не так? в SA выводит все элементы = 0 Задание: Найти среднее...

5
Jman
47 / 47 / 25
Регистрация: 11.10.2015
Сообщений: 598
Завершенные тесты: 4
19.07.2016, 13:45 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
void task_20_1()
{
    const unsigned short rows = 4, cols = 5;
    int mass_1[rows][cols];
    float mass_2[rows][cols];
    int buffer;
    float average=0;
    cout << "Создайте двумерный массив 4*5. Метод заполнения произвольный.\n"
        << "Выведите его. Измените текущий массив, разделив все элементы каждого \n"
        << "столбца на среднее значение этого столбца. Выведите преобразованный массив." << endl << endl;
    //Fill and print original matrix
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            mass_1[i][j] = rand() % 20;
            cout << setw(5) << mass_1[i][j];
        }
        cout << endl;
    }
    //Calculate
    for (int j = 0; j < cols; ++j)
    {
        buffer = 0;
        for (int i = 0; i < rows; ++i)
        {
            buffer += mass_1[i][j];
            average = (float)buffer / rows;
        }
    
        cout << "[" << j << "]" << " Сумма в столбце равна " << buffer  << " Среднее столбца равно " << average << " " << endl;
        
    }
    // И тут ничего не работает.....
    //Changed massiv
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            mass_2[i][j] = mass_1[i][j] / average;
            cout << setw(10) << mass_2[i][j];
        }
        cout << endl;
    }
    
}
Не могу правильно вывести конечную матрицу. Помогите пожалуйста, где, допустил ошибку. Вернее работает, но матрица перевернулась. Как ее правильно вывести.
0
shilko2013
250 / 227 / 184
Регистрация: 02.04.2016
Сообщений: 887
Завершенные тесты: 1
19.07.2016, 14:06 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
#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;
int main() {
 
    srand(time(0));
    const int n = 5;
    double a[n][n];
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < n; ++j)
            a[i][j] = rand() % 100;
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j)
            cout << a[i][j] << " ";
        cout << endl;
    }
    cout << endl;
    for (int j = 0; j < n; ++j) {
        double sum = 0;
        for (int i = 0; i < n; ++i)
            sum += a[i][j];
        double arifm = sum / n;
        for (int i = 0; i < n; ++i)
            a[i][j] = a[i][j] / arifm;
    }
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j)
            cout << a[i][j] << " ";
        cout << endl;
    }
    return 0;
}
1
Jman
47 / 47 / 25
Регистрация: 11.10.2015
Сообщений: 598
Завершенные тесты: 4
19.07.2016, 14:23 4
Спасибо конечно за код. Но мне бы хотелось узнать, где я оплошал...
Все починил... Добавил Ваш цикл на деление:
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
void task_20_1()
{
    const unsigned short rows = 4, cols = 5;
    int mass_1[rows][cols];
    float mass_2[rows][cols];
    int buffer;
    float average=0;
    cout << "Создайте двумерный массив 4*5. Метод заполнения произвольный.\n"
        << "Выведите его. Измените текущий массив, разделив все элементы каждого \n"
        << "столбца на среднее значение этого столбца. Выведите преобразованный массив." << endl << endl;
    //Fill and print original matrix
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            mass_1[i][j] = rand() % 20;
            cout << setw(5) << mass_1[i][j];
        }
        cout << endl;
    }
    //Calculate
    for (int j = 0; j < cols; ++j)
    {
        buffer = 0;
        for (int i = 0; i < rows; ++i)
        
            buffer += mass_1[i][j];
            average = (float)buffer / rows;
            for (int i = 0; i < rows; ++i)
                mass_2[i][j] = mass_1[i][j] / average;
        
    
        cout << "[" << j << "]" << " Сумма в столбце равна " << buffer  << " Среднее столбца равно " << average << " " << endl;
        
    }
    
    //Changed massiv
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < cols; j++)
        {
            cout << setw(10) << mass_2[i][j];
        }
        cout << endl;
    }
    
}
0
shilko2013
250 / 227 / 184
Регистрация: 02.04.2016
Сообщений: 887
Завершенные тесты: 1
19.07.2016, 14:32 5
Jman, вроде нету ошибки при беглом просмотре. Мне с телефона неудобно проверить.
1
Jman
47 / 47 / 25
Регистрация: 11.10.2015
Сообщений: 598
Завершенные тесты: 4
19.07.2016, 14:36 6
Все работает спасибо... Без третьего цикла в Calculate у меня не верная арифметика происходила.
0
19.07.2016, 14:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2016, 14:36

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

Определить среднее арифметическое чётных элементов третьего столбца матрицы
Дан двумерный массив целых чисел. Определить: среднее арифметическое чётных...

Найти среднее арифметическое положительных элементов каждого столбца матрицы
Дана квадратная матрица А порядка n. Найти среднее арифметическое...


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

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

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