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

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

Войти
Регистрация
Восстановить пароль
 
George_Smith
10 / 10 / 3
Регистрация: 18.08.2013
Сообщений: 399
#1

Построить последовательность из элементов матрицы - C++

04.06.2016, 10:30. Просмотров 113. Ответов 1
Метки нет (Все метки)

Знакомый попросил помочь, мол "Тыжпрограммист", а я в C++ не рублю. Задачи-то простые, алгоритм у них легкий, но есть проблемы с тонкостями языка.

Дана действ. квадрат. матрица порядка n. Построить последовательность a1, a2, ... an по принципу: если в i-той строке матрицы на главной диагонали лежит отрицательный элемент, то ai равняется сумме предшествующих диагональному элементов, если неотрицательное - то сумме стоящих ЗА диагональным. Суммирование выполнить в виде подпрограммы.

Вот что я успел "набыдлокодить":

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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
float sum(float *a, int k){
    float summa = 0;
    if (*a[k][k]<0){
        for (int z=0; z<k; z++){
            summa = summa + *a[k][z];
        }
    } else {
        for (int z = n; z>a; z--){
            summa = summa + *a[k][z]
        }
    }
    return (summa);
}
 
int main()
{
    int n,i;
    cin >> n;
    float matrix[n][n];
    for (int i=0;i<n;i++){
        for (int j=0;j<n;j++){
            cin >> matrix[i][j];
        }
    }
    for (int i=0;i<n;i++){
        for (int j=0;j<n;j++){
            cout << matrix[i][j];
        }
        cout << "\n";
    }
 
    sum(*matrix, 1);
 
 
}

Не пойму, как передать матрицу в функцию, да и надо ли вообще это делать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2016, 10:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Построить последовательность из элементов матрицы (C++):

Построить последовательность заданного количества элементов - C++
Приветствую друзья программисты. Нужна ваша неотъемлемая помощь. Построить последовательность заданного количества элементов, ...

Построить последовательность n!, для n=1…7 со всеми возможными перестановками из элементов этой последовательности - C++
Помогите с задачкой...:(Построить последовательность n!, для n=1…7. Для всех элементов этой по-следовательности и построить для них все...

Bз наибольших элементов каждой строки матрицы построить вектор.найти сумму элементов этого вектора - C++
из наибольших элементов каждой строки матрицы А(4\4) построить вектор.найти сумму элементов этого вектора.Вывести матрицу А и сумму...

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

Получить последовательность элементов главной диагонали матрицы - C++
Дано натуральное число n, действительная матрица A размером n x n. Получить последовательность элементов главной диагонали A 11, A22 ., A...

Построить вектор из элементов матрицы - C++
по заданной квадратной матрице размером nxn построить вектор длиной 2n-1, элементы которого - максимумы элементов диаогоналей,...

1
Encephalopathy
69 / 69 / 29
Регистрация: 04.06.2016
Сообщений: 235
Завершенные тесты: 2
04.06.2016, 19:08 #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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
float sum(float **a, int k){
    float summa = 0;
    if (a[k][k]<0){
        for (int z=0; z<k; z++){
            summa = summa + a[k][z];
        }
    } else {
        for (int z =k; z>k; z--){
            summa = summa + a[k][z];
        }
    }
    return summa;
}
 
int main()
{
 int n;
    cin >> n;
    float ** matrix=new float*[n];
 
    for(int i=0;i<n;i++)
    {
    matrix[i]=new float[n];
    }
 
    for (int i=0;i<n;i++){
        for (int j=0;j<n;j++){
            cin >> matrix[i][j];
        }
    }
    for (int i=0;i<n;i++){
        for (int j=0;j<n;j++){
            cout << matrix[i][j];
        }
        cout << "\n";
    }
 
    sum(matrix, 1);
 
 
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2016, 19:08
Привет! Вот еще темы с ответами:

Построить массив из элементов матрицы - C++
Господа, помогите, пожалуйста. Есть очень простая задача: Дана квадратная матрица А размерностью от 2 до 10, необходимо построить...

Построить динамический одномерный массив из элементов матрицы - C++
Дана динамическая целочисленная матрица.Построить динамический одномерный массив,каждый эллемент которого равен сумме элементов одной...

Построить вектор из максимальных элементов столбцов матрицы - C++
Построить вектор D, элементы которого равны максимальным элементам столбцов матрицы G (m, n).

Построить массив совпадений элементов диагоналей матрицы - C++
Дана целочисленная матрица А(N, N). Построить по ней целочис-ленный массив В, присвоив его k-мy элементу значение 1, если в k-й строке...


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

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

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