0 / 0 / 0
Регистрация: 04.06.2019
Сообщений: 16
1

Массив: Собрать все нулевые элементы выше главной диагонали

05.06.2019, 17:45. Показов 3654. Ответов 4

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста !
Задания:
Данная матрица целых чисел. Собрать все нулевые элементы выше главной диагонали (заполнение осуществлять параллельно главной диагонали).

C++ (Qt)
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> 
#include <conio.h> 
#include <locale.h> 
#include <math.h> 
#define N 10 
using namespace std;
int main() {
    setlocale(0, "");
    int W[N][N], a[N][N];
    int n = N + 1;
    int C = 0, V = 0;
 
    while (C >= V) {
        printf("\nВведите границу  A i B: ");
        scanf_s("%d %d", &C, &V);
    }
    printf("\n\nМатриця А:");
    for (int i = 0; i < 5; i++) {
        printf("\n\n");
        for (int j = 0; j < 5; j++) {
            a[i][j] = rand() % (V - C) + C;
            printf("%5d", a[i][j]);
        }
    }
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2019, 17:45
Ответы с готовыми решениями:

все нулевые элементы размещены ниже главной диагонали на нечетных строках и выше главной диагонали - на четных
все нулевые элементы размещены ниже главной диагонали на нечетных строках и выше главной диагонали...

Сохранить все нулевые элементы, размещенные на главной диагонали и в верхней половине области выше диагонали
Сохранить все нулевые элементы , размещенные на главной диагонали и в верхней половине области...

Сохранить все нулевые элементы, размещенные ниже главной диагонали на нечетных строках а выше главной в четных
Вот такая задача : Сохранить все нулевые элементы Размещенные ниже главной диагонали На нечетных...

Написать программу в которой все нулевые элементы размещены выше главной диагонали
помогите пожалуйста написать программу в которой все нулевые элементы размещены выше главной...

4
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
05.06.2019, 17:46 2
что значит "собрать"?
1
0 / 0 / 0
Регистрация: 04.06.2019
Сообщений: 16
05.06.2019, 17:52  [ТС] 3
тип надо все элементы матрицы значение которых = 0 разместить выше главной диагонали
0
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
06.06.2019, 16:34 4
Лучший ответ Сообщение было отмечено olehmiami как решение

Решение

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 <iomanip>
#include <random>
 
static const int kMatrixSize = 10;
 
struct index
{
    int n;
    int m;
};
 
int main(int argc, char *argv[])
{
    std::random_device dev;
    std::mt19937 rng(dev());
    std::uniform_int_distribution<std::mt19937::result_type> dist(0, 9);
 
    int matrix[kMatrixSize][kMatrixSize];
 
    std::vector<struct index> indicies;
 
    std::cout << "Matrix: " << std::endl;
 
    for (int n = 0; n < kMatrixSize; ++n)
    {
        for (int m = 0; m < kMatrixSize; ++m)
        {
            matrix[n][m] = dist(rng);
 
            if (m > n && 0 == matrix[n][m])
            {
                struct index i = {n, m};
                indicies.push_back(i);
            }
 
            std::cout << std::setw(2) << matrix[n][m] << " ";
        }
 
        std::cout << std::endl;
    }
 
    std::cout << std::endl << "Zero elemetns above diagonal: " << std::endl;
 
    for (std::vector<struct index>::const_iterator it = indicies.begin(); it != indicies.end(); ++it)
    {
        std::cout << "[" << it->n << "][" << it->m << "]" << std::endl;
    }
 
    return 0;
}
Пример работы:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ ./zeroes
Matrix:
 5  3  9  7  7  2  7  1  8  4
 2  6  0  0  0  9  9  9  3  7
 2  2  1  5  5  8  5  5  0  4
 9  4  4  2  4  3  9  9  3  0
 2  3  9  6  2  4  9  1  8  5
 6  5  0  0  4  8  1  9  8  0
 0  6  2  9  2  9  3  1  1  6
 9  1  4  8  7  9  1  6  9  4
 3  0  3  6  8  0  2  8  2  8
 0  3  7  4  1  6  4  4  2  5
 
Zero elemetns above diagonal:
[1][2]
[1][3]
[1][4]
[2][8]
[3][9]
[5][9]
1
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
07.06.2019, 13:58 5
Цитата Сообщение от olehmiami Посмотреть сообщение
тип надо все элементы матрицы значение которых = 0 разместить выше главной диагонали
C++
1
2
3
4
5
6
7
8
9
10
11
12
    for (int i=0; i<5; ++i)
        for (int j=i; j<5; ++j)
            if (a[i][j]!=0)
                for (int i1 = 0; i1 < 5; ++i1)
                    for (int j1 = 0; j1 < i1; ++j1)
                        if (a[i1][j1] == 0)
                        {
                            int tmp = a[i][j];
                            a[i][j] = a[i1][j1];
                            a[i1][j1] = tmp;
                            break;
                        }
0
07.06.2019, 13:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2019, 13:58
Помогаю со студенческими работами здесь

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

Собрать все положительные элементы массива выше главной диагонали
Здравствуйте. Ребята, помогите, пожалуйста, разобраться с выполнением программы. Нужно: Дана...

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

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

Элементы, расположеные на главной диагонали, в первых 3 строках выше диагонали и в последних 2 строках ниже диагонали переместить в одномерный массив
Нужно элементы расположены на главной диагонали, в первых 3 строках выше диагонали и в последних 2...

Вывести все нулевые элементы, которые есть на главной диагонали массива и ниже её
Задание: вывести все нулевые элементы которые есть на главной диагонали и ниже её, а программа...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru