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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.94
crazetss
Сообщений: n/a
#1

Двухмерная матрица и функция - C++

04.12.2010, 22:27. Просмотров 2331. Ответов 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
int sum (double A[][], int n, int m)  //
{
double result = 0;
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
    if (i == j)
        result = result +  A[i][j];
    }
    return result;
}
}
int main()
{
double **A;
int n;
int m;
 
cout <<"enter n "<<endl;
cin >> n;
cout <<"enter m"<<endl;
cin >> m;
 
A = new double *[n];
for(int i=0;i<n;i++)
A[i] = new double [m];
 
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
        cout <<"input ["<<i<<"]["<<j<<"] element array A"<<endl;
        cin >> A[i][j];
    }
}
cout<<endl;
cout <<sum(A,n,m)<<endl;
 
cin.get();
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2010, 22:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Двухмерная матрица и функция (C++):

Двухмерная матрица и функция - C++
Здравствуйте! Помогите решить задачи на С++. 1. Дана матрица размера MxN. Найти максимальные элементы в каждой строке и их координаты,...

Двухмерная графика на C++ - C++
Всем привет!:) Я немогу найти инфу как работать с графикой на C++, мне нужно узнать как переводить в графический режим, как рисовать ...

Typedef, матрица и функция - C++
Всем привет! Написал вот такой код: #include&lt;iostream&gt; using namespace std; const int n=3; typedef double...

Матрица,функция или процедура. - C++
Доброго всем времени. Пытаюсь написать функцию или процедуру. ” В заданной целочисленной матрице A(N, M) выведите на печать индексы...

Матрица двухмернная.функция добавить колону - C++
Нужна функция чтобы добавила столбец в конце и дополнила её с максималиного елемента с каждого ряда. int add_coloumn(int n, int m,...

Функция, вызываемое значение которой - матрица. Как это? - C++
Требуется создать функцию, вызываемое значение которой - матрица. С помощью этой ф-ии создать и напечатать матрицу, при N=5. ...

2
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.12.2010, 22:44 #2
C++
1
double A[][]
C++
1
double *A[]
1
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
04.12.2010, 22:47 #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
34
35
36
37
38
39
#include <iostream>
 
int sum(int **a, int rows, int cols) {
        int sum = 0;
        for(int i = 0; i < rows && i < cols; ++i)
                sum += a[i][i];
 
        return sum;
}
 
int main()
{
        int rows = 0;
        int cols = 0;
 
        std::cout << "rows: ";
        std::cin >> rows;
 
        std::cout << "cols: ";
        std::cin >> cols;
 
        int **matrix = new int*[rows];
        for(int i = 0; i < rows; ++i)
                matrix[i] = new int[cols];
 
        std::cout << "matrix " << rows << "x" << cols << " size" << std::endl;
        for(int i = 0; i < rows; ++i) {
                for(int j = 0; j < cols; ++j)
                        std::cin >> matrix[i][j];
        }
 
        std::cout << "sum: " << sum(matrix, rows, cols) << std::endl;
 
        for(int i = 0; i < rows; ++i)
                delete[] matrix[i];
        delete[] matrix;
 
        return 0;
}
Функция вычисления суммы у Вас вычисляет результат типа double, а возвращает int.
Память под матрицу выделяется динамически, следовательно функция должна принимать указатель.
Проход по главной диагонали матрицы осуществляется проще.

В общем смотрите пример и исправляйте ошибки.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2010, 22:47
Привет! Вот еще темы с ответами:

Матрица и функция (Сложение двух матриц функцией sum) - C++
Всем привет. Не получается создать функцию. Задача: Сложение двух матриц функцией sum. Условие: Размеры матриц указываются...

дана квадратичная матрица z[n][n]. составить программу, которая если матрица симметричная(транспонированная матрица равна исходной), сделает ее не сим - C++
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) { srand(time(NULL)); int mas; ...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей) - C++
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() { int mas; int N; int max_element; int...


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

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

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