Форум программистов, компьютерный форум CyberForum.ru

Найти среднее арифметическое элементов каждой диагонали матрицы, параллельной побочной - C++

Восстановить пароль Регистрация
 
Midsummer007
0 / 0 / 0
Регистрация: 12.06.2011
Сообщений: 3
12.06.2011, 02:41     Найти среднее арифметическое элементов каждой диагонали матрицы, параллельной побочной #1
Здравствуйте! Помогите написать 3 программмы на C++ на задачи с двумерными массивами

2. Дана квадратная матрица A порядка M. Найти среднее арифметическое элементов каждой ее диагонали, параллельной побочной (начиная с одноэлементной диагонали A1,1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2011, 02:41     Найти среднее арифметическое элементов каждой диагонали матрицы, параллельной побочной
Посмотрите здесь:

C++ Среднее арифметическое положительных элементов м-цы, расположенных выше ее побочной диагонали
Найти максимальный элемент для каждой диагонали матрицы, параллельной побочной C++
Массив: Найти среднее арифметическое элементов матрицы и сумму элементов тех строк матрицы, в которых отрицателен элемент главной диагонали. C++
C++ Дан Массив. Найти среднее арифметическое элементов каждой строки матрицы
Найти среднее арифметическое положительных элементов главной и побочной диагоналей матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
12.06.2011, 05:29     Найти среднее арифметическое элементов каждой диагонали матрицы, параллельной побочной #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
#include <iostream>
using namespace std;
 
 
int main()
{
    /*
    
    int matrix[5][5] = {
        {1,2,3,4,5},
        {2,3,4,5,6},
        {3,4,5,6,7},
        {4,5,6,7,8},
        {5,6,7,8,9}
    };
    
    */
    int matrix[5][5] = {
        {50,15,33,32,23},
        {29,34,98,22,98},
        {12,44,89,63,72},
        {48,54,63,71,82},
        {53,66,17,65,29}
    };
 
    int d;
    int m = 5;
    int x, y, c;
    int sum, sredn;
 
 
        for (d = 1; d <= m * 2 - 1; d++) {
            if (d <= m) {
                x = d - 1;
                sum = 0;
                c = y = 0;
                for (; x >= 0; x--) {
                    sum += matrix[x][y];
                    y++; c++;
                }
            } else {
                y = d - m;
                c = sum = 0;
                x = m - 1;
                for (; y < m; y++) {
                    sum += matrix[x][y];
                    x--; c++;
                }
            }
            sredn = sum / c;
            // вывод номер диагонали и среднее значение
            cout << "# " << d << "  " << sredn << endl;
        }
 
    return 0;
}
в коменте матрица с цифрами ее диагонали
даже не знаю то ли это?

ПС: среднее округляется до целого, можно поменять на тип float тогда будет более точное значение
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
12.06.2011, 06:33     Найти среднее арифметическое элементов каждой диагонали матрицы, параллельной побочной #3
2'st
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
#include <iostream>
 
int main()
{
    int m;
    std::cin >> m;
    float** arr = new float* [m];
    for (int i = 0; i < m; ++i)
    {
        arr[i] = new float [m];
        for (int j = 0; j < m; ++j)
            std::cin >> arr[i][j];
    }
    std::cout << "average of 1 diagonal = " << arr[0][0] << std::endl;
    for (int i = 1; i < (m - 1); ++i)
    {
        float sum = 0;
        for (int j = 0; j < i + 1; ++j)
        {
            sum += arr[j][i - j];
        }
        std::cout << "average of " << i+1 << " diagonal = " << sum / (i + 1) << std::endl;
    }
    system("pause");
    return 0;
}
Добавлено через 38 секунд

Не по теме:

ой, сорри, уже решили.
мой покомпактнее будет

tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
12.06.2011, 06:39     Найти среднее арифметическое элементов каждой диагонали матрицы, параллельной побочной #4
Цитата Сообщение от soon Посмотреть сообщение
2'st
....

Добавлено через 38 секунд

Не по теме:

ой, сорри, уже решили.
мой покомпактнее будет

Возьму твой пример на заметку, а то с матрицами я не очень
Yandex
Объявления
12.06.2011, 06:39     Найти среднее арифметическое элементов каждой диагонали матрицы, параллельной побочной
Ответ Создать тему
Опции темы

Текущее время: 12:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru