1 / 1 / 1
Регистрация: 05.12.2013
Сообщений: 18
1

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

12.01.2016, 20:23. Показов 601. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1. Для каждой из двух заданных матриц размером m на n найти максимальный по модулю элемент матрицы. Переставить строчки и столбцы каждой матрицы так, что бы максимальный элемент был на пересечении k-строчки и k-столбца.
2. Дано три квадратные матрицы A[n xn], B[n xn], C[n xn]. Вычислить среднее арифметическое сумм элементов этих матриц, которые находятся в заштрихованой области.
Ребят, если кто может, напишете пожалуйста, буду очень благодарен. не знаю даже с чего начать
ps. матрицы задаются рандомно. вывод все в консоль.
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2016, 20:23
Ответы с готовыми решениями:

Вычислить среднее арифметическое элементов, кратных 4 из заштрихованной области
вычислить среднее арифметическое элементов кратных 4 из заштрихованной области. поменять местами...

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

Среднее арифметическое отношений сумм четных и нечетных элементов массива
Три массива в памяти заданы начальными адресами и длинами. Вычислить и вывести на устройство вывода...

Найти среднее арифметическое элементов в окрашенной области
Вот как звучит задача: Заданная матрица целых чисел размером (N, N). Найти среднее...

3
103 / 82 / 78
Регистрация: 11.05.2015
Сообщений: 201
12.01.2016, 21:17 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <stdio.h>
#include <stdlib.h>
 
const int m = 5;
const int n = 5;
 
void getMatrix(int M[m][n])
{
    for (int i=0; i<m; i++)
        for (int j=0; j<n; j++)
            M[i][j] = rand()%201 - 100;
}
 
void getMaxElem(int M[m][n], int& x, int& y)
{
    int max = abs(M[0][0]);
    x=0; y=0;
    for (int i = 0; i<m; i++)
        for (int j=0; j<n; j++)
            if (abs(M[i][j])>max)
            {
                max = abs(M[i][j]);
                x = i;
                y = j;
            }
}
 
void swap(int& x, int& y)
{
    int temp = x;
    x = y;
    y = temp;
}
 
void swapColRow(int M[m][n], int x, int y, int k)
{
    for (int i=0; i<m; i++)
        swap(M[i][y],M[i][k]);
    for (int i=0; i<m; i++)
        swap(M[x][i],M[k][i]);
 
}
 
void showMatrix(int M[m][n])
{
    for (int i=0; i<m; i++)
    {
        for (int j=0; j<n; j++)
            printf("%d ",M[i][j]);
        printf("\n");
    }
    printf("\n");
 
}
 
void task(int M[m][n], int k)
{
    int x=0, y=0;
    getMatrix(M);
    showMatrix(M);
    getMaxElem(M, x, y);
    swapColRow(M,x,y,k);
    showMatrix(M);
}
 
int main()
{
    srand(0);
    int A[n][m], B[n][m], k;
    scanf("%d",&k);
    task(A,k);
    task(B,k);
    return 0;
}
0
1 / 1 / 1
Регистрация: 05.12.2013
Сообщений: 18
12.01.2016, 21:28  [ТС] 3
а можно пару комментариев к коду? я мало что могу понять тут
0
103 / 82 / 78
Регистрация: 11.05.2015
Сообщений: 201
13.01.2016, 01:09 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <stdio.h>
#include <stdlib.h>
 
const int m = 5;        // число строк 
const int n = 5;        // число столбцов
 
void getMatrix(int M[m][n]) // заполняем матрицу случайными элементами от -100 до 100
{
    for (int i=0; i<m; i++)
        for (int j=0; j<n; j++)
            M[i][j] = rand()%101 - 200;
}
 
void getMaxElem(int M[m][n], int& x, int& y)    // находим максимальный элемент в матрице
{
    int max = abs(M[0][0]);     // считаем изначально максимальным элемент M[0][0]
    x=0; y=0;
    for (int i = 0; i<m; i++)
        for (int j=0; j<n; j++)
            if (abs(M[i][j])>max)       // проходимся по всем эл-ам и если находится больший
            {
                max = abs(M[i][j]);     // то изменяем значение max
                x = i;                  // x, y - координаты мах эл-та (M[x][y] - max)
                y = j;
            }
}
 
void swap(int& x, int& y)   // меняет местами значения x и y
{
    int temp = x;
    x = y;
    y = temp;
}
 
void swapColRow(int M[m][n], int x, int y, int k)
{
    // x, y - координаты max эл-та
    for (int i=0; i<m; i++)
        swap(M[i][y],M[i][k]);  // меняем местами строки y и k
    for (int i=0; i<n; i++)
        swap(M[x][i],M[k][i]);  // меняем местами столбцы x и k
 
}
 
void showMatrix(int M[m][n])
{
    // вывод матрицы на экран
    for (int i=0; i<m; i++)
    {
        for (int j=0; j<n; j++)
            printf("%d ",M[i][j]);
        printf("\n");
    }
    printf("\n");
 
}
 
void task(int M[m][n], int k)
{
    int x=0, y=0;
    getMatrix(M);
    showMatrix(M);
    getMaxElem(M, x, y);
    swapColRow(M,x,y,k);
    showMatrix(M);
}
 
int main()
{
    srand(0);
    int A[n][m], B[n][m], k;
    scanf("%d",&k);
    task(A,k);
    task(B,k);
    return 0;
}
0
13.01.2016, 01:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2016, 01:09
Помогаю со студенческими работами здесь

Посчитать сумму элементов заштрихованой области
Посчитать сумму элементов А заштрихованой области. Если можно написать решение не кодом, а через...

Найти среднее арифметическое элементов отмеченной области матрицы
Найти среднее арифметическое элементов отмеченной области матрицы. области на картинке.

Найти среднее арифметическое элементов главных диагоналей матриц
Найти среднее арифметическое элементов главных диагоналей матриц Х, У, Z и определить наибольшее...

Обработка матриц: Вычислите среднее арифметическое элементов матрицы
Вычислите среднее арифметическое элементов матрицы. Получите новую матрицу путем вычитания из...


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

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

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