Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
glebhero
0 / 0 / 2
Регистрация: 09.12.2014
Сообщений: 19
#1

Заменить элементы главной диагонали суммами элементов их строк стоящих выше побочной диагонали - C++

16.12.2014, 15:21. Просмотров 378. Ответов 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
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");//Русский язык
    const int x = 5;// x в квадрате кол-во элементов в матрице
    float C[x][x] = { 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 }; //Инициализируем матрицу
 
    for (int i = 0; i<x; i++, cout << endl)
    for (int j = 0; j<x; j++)
    {
        cout << C[i][j] << "\t"; //вывод матрицы
    }
    cout << endl;
    cout << "Элементы выше главной диагонали\n\n";
    for (int i = 0; i < x-1; i++)
    {
        for (int j = i+1; j<x; j++) // оперделение элементов выше главной диагонали.
        {
            
                s = s + C[i][j];//подсчет суммы элементов выше главной диагонали
                cout << C[i][j] << " ";
 
        }
    }
 
    cout << endl << endl;
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j<x; j++) // оперделение элементов  главной диагонали.
        {
            if (i == j)
            {
                cout << C[i][j] << " ";
            }
            else cout << "  ";
 
        }
    }
    cout << endl;
    _getch();
    return 0;
}
Добавлено через 4 часа 3 минуты
ап.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2014, 15:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Заменить элементы главной диагонали суммами элементов их строк стоящих выше побочной диагонали (C++):

В матрице (6,6) найти максимальный из элементов, стоящих выше побочной диагонали и заменить его на 0
Доброго времени дня! Очень большая прозьба помочь с задачей по C++. Задание: В...

Заменить элементы главной диагонали матрицы суммами элементов столбцов
Помогите пожалуйста. Заменить элементы главной диагонали матрицы целых чисел...

Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и ниже побочной диагонали
Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие...

Вычислить сумму элементов расположенных ниже главной диагонали, но выше побочной диагонали
Дана целочисленная квадратная матрица размера NxN. Вычислить сумму элементов...

Найти сумму элементов матрицы, расположенных выше главной диагонали и ниже побочной диагонали
не соображу В среде MS Visual C++ разработать программу, которая формирует...

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

2
tyreu
Заблокирован
16.12.2014, 16:17 #2
а где вы считаете сумму?
1
glebhero
0 / 0 / 2
Регистрация: 09.12.2014
Сообщений: 19
17.12.2014, 18:33  [ТС] #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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");//Русский язык
    const int x = 5;// x в квадрате кол-во элементов в матрице
    float C[x][x] = { 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 }, s = 0; //Инициализируем матрицу
    float a[x];
    for (int i = 0; i<x; i++, cout << endl)
    for (int j = 0; j<x; j++)
    {
        cout << C[i][j] << "\t"; //вывод матрицы
    }
    cout << endl;
 
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j<x; j++) // оперделение элементов выше побочной диагонали.
        {
            if (i + j < x - 1)
            {
                a[0] = C[0][0] + C[0][1] + C[0][2] + C[0][3];
                a[1] = C[1][0] + C[1][1] + C[1][2];
                a[2] = C[2][0] + C[2][1];
                a[3] = C[3][0];
            }
            else cout << "  ";
 
        }
    }
 
    for (int i = 0; i < x; i++)
    {
        for (int j = 0; j<x; j++) // оперделение элементов  главной диагонали.
        {
            C[0][0] = a[0];
            C[1][1] = a[1];
            C[2][2] = a[2];
            C[3][3] = a[3];
 
        }
    }
    cout << endl;
 
    cout << endl<<endl;
    for (int i = 0; i<x; i++, cout << endl)
    for (int j = 0; j<x; j++)
    {
        cout << C[i][j] << "\t"; //вывод матрицы
    }
    cout << endl;
    _getch();
    return 0;
}
Добавлено через 50 секунд
см.выше

Добавлено через 4 часа 24 минуты
ап.

Добавлено через 13 часов 59 минут
ап.

Добавлено через 7 часов 17 минут
ап....я так понял безвыходно да?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2014, 18:33
Привет! Вот еще темы с решениями:

Заменить элементы главной диагонали матрицы нулями и найти максимальный элемент ниже побочной диагонали
Есть пример для решения другой задачи(она находит суму всех элементов каждой...

Обнулить элементы матрицы, лежащие одновременно выше главной диагонали и выше побочной диаго-нали.
Matrix92. Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие...

Найти сумму положительных элементов матрицы, стоящих выше побочной диагонали
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;ctime&gt;...

Проверить утверждение: сумма элементов выше побочной диагонали больше суммы элементов ниже побочной диагонали
дана квадратная матрица натуральных чисел получаемая через...


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

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

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