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

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

Восстановить пароль Регистрация
 
Orion6767
2 / 2 / 0
Регистрация: 26.10.2010
Сообщений: 67
02.02.2012, 15:35     Написать функцию для вычисления суммы элементов n квадратных матриц, которые расположены ниже главной диагонали. #1
Вместо n взял две матрицы.

Ошибка в 47-й и 49-й строках. Как правильно передать квадратную матрицу в функцию?

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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
using namespace std;
 
int test (const int *MAS, const size_t SIZE)
 
{
    int s, i, j;
    s=0;
    {
    for (i=0; i<5; i++)
    for (j=0; j<5; j++)
    if (i>j)
    s=s+MAS[i][j];
    }
}
 
int main (void)
 
{
    int A[5][5], B[5][5], i, j;
 
    int (*t) (const int *MAS, const size_t SIZE);
    t = test;
    srand (time (NULL));
 
    cout<<"ARRAY A: ";
    for (i=0; i<5;i++)
    for (j=0; j<5;j++)
    {
    A[i][j] = rand ()%15-5;
    cout<<A[i][j]<<"         \t";
    }
 
    cout<<"ARRAY B: ";
    for (i=0; i<5;i++)
    for (j=0; j<5;j++)
    {
    B[i][j] = rand ()%15-5;
    cout<<B[i][j]<<"         \t";
    }
 
    cout << "test (ARRAY A): ";
    (t (A, [5][5])) cout << "Summa = \n";
    cout << "test (ARRAY B): ";
    (t (B, [5][5])) cout << "Summa = \n";
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2012, 15:35     Написать функцию для вычисления суммы элементов n квадратных матриц, которые расположены ниже главной диагонали.
Посмотрите здесь:

Написать функцию для вычисления суммы элементов квадратной матрицы, расположенных ниже главной диагонали C++
[Функции] Работа с матрицей (организовать функцию для вычисления суммы положительных элементов, размещенных на побочной диагонали) C++
Вывести на экран значения тех эле-ментов, лежащих выше главной диагонали, которые больше всех элементов, лежащих ниже главной диагонали C++
C++ Матрица. Составить программу нахождения суммы элементов, лежащих ниже главной диагонали
Верно ли, что среднее арифметическое элементов выше главной диагонали больше среднего арифметического элементов ниже главной диагонали C++
C++ Организовать функцию для вычисления суммы положительных элементов, расположенных на побочной диагонали матрицы
Определить: сумма элементов выше главной диагонали меньше суммы элементов ниже главной диагонали? C++
C++ Функция вычисления суммы элементов квадратной матрицы, которые расположены ниже главной диагонали

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sergey_B
163 / 163 / 14
Регистрация: 08.01.2013
Сообщений: 335
04.02.2013, 13:29     Написать функцию для вычисления суммы элементов n квадратных матриц, которые расположены ниже главной диагонали. #2
Как правильно передать квадратную матрицу в функцию?
в вашем случае: test(А, 5);
Ну и мой вариант решения:
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
77
78
79
80
81
82
83
#include <iostream>
#include <conio.h>
#include <iomanip>
 
using namespace std;
 
//ф-ция заполнения матрицы
int **InputMatrix(int row, int column)
{
    int **matrix = new int* [row];
    for (int i=0; i<row; i++)
    {
        matrix[i]=new int[column];
        for (int j=0; j<column; j++)
        {
            cout<<"Введите ("<<i<<","<<j<<") элемент: ";
            cin>>matrix[i][j];
        }
    }
    return matrix;
}
 
   //ф-ция вывода матрицы
    void ShowMatr(int row, int column, int **matrix)
    {
        for(int i=0;i<row;i++)
        {
            for(int j=0;j<column;j++)
                cout<<setw(5)<<*(*(matrix+i)+j)<<ends;
            cout<<endl;
        }
    }
    //сумма элементов ниже главной диагонали
 int SumMatrix(int row, int column, int **matrix)
 {
     int sum=0;
 
    for (int i=0; i<row; i++)
    {
         for (int j=0; j<column; j++)
        {
            if (j<i)
            {
               sum+=matrix[i][j];
            }
        }
    
    }
     return sum;
 }
 
int main()
{
    int **InputMatrix(int row, int column); //ф-ция заполнения матрицы
    void ShowMatr(int row, int column, int **matrix); //ф-ция вывода матрицы
    int SumMatrix(int row, int column, int **matrix); //ф-ция вычисления суммы эл-ов
    
    int mSizeR = 0; //размерность матрицы
    int mSizeC = 0; //размерность матрицы
    
    cout<<"Введите количество строк матрицы:\n";
    cin>>mSizeR;
    cout<<"Введите количество столбцов матрицы:\n";
    cin>>mSizeC;
      
    cout<<"Заполните матрицу...\n";
    // заполнение матрицы
       int **A = InputMatrix(mSizeR, mSizeC);
       //вывод введенной матрицы
       cout<<"\n Введенная матрица: \n";
       ShowMatr(mSizeR, mSizeC, A);
       //сумма эл-ов под главной диагональю
        cout<<"\n Сумма =  \n"<<SumMatrix(mSizeR, mSizeC, A);
        
        //освободим память
        for (int i=0; i<mSizeR; i++)
        {
            delete A[i];
        }
        delete[] A;
        getch();
        return 0;
}
Добавлено через 21 минуту
Vergilloo, вот эт ты тему поднял,а я на число посмотрел 2 февраля, а на год нет, думаю автор смог передать матрицу в функцию за год
Yandex
Объявления
04.02.2013, 13:29     Написать функцию для вычисления суммы элементов n квадратных матриц, которые расположены ниже главной диагонали.
Ответ Создать тему
Опции темы

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