Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 16
1

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

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

Author24 — интернет-сервис помощи студентам
Заданный массив действительных чисел А (n, n). Необходимо каждый элемент столбца разделить на среднее арифметическое элементов данного столбца. На печать вывести начальный и результирующий массивы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2016, 09:59
Ответы с готовыми решениями:

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

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

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

Массив: Разделить элементы каждого столбца заданной матрицы на последний элемент столбца.
Разделить элементы каждого столбца заданной матрицы на последний элемент столбца. Полученную...

5
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
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
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
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
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
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
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
19.07.2016, 14:32 5
Jman, вроде нету ошибки при беглом просмотре. Мне с телефона неудобно проверить.
1
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
19.07.2016, 14:36 6
Все работает спасибо... Без третьего цикла в Calculate у меня не верная арифметика происходила.
0
19.07.2016, 14:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2016, 14:36
Помогаю со студенческими работами здесь

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

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

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

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


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

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