Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы и структуры как параметры функций https://www.cyberforum.ru/ cpp-beginners/ thread2985647.html
Разработать функцию, формирующую одномерный массив, элементы которого равны минимальному элементу столбцов матрицы.
Создать целочисленный массив из n элементов C++
Создать целочисленный массив из n элементов; n и значения элементов массива ввести с клавиатуры. Найти среди его элементов два, произведение которых имеет наибольшее значение.
C++ Переместить диски на второй стержень https://www.cyberforum.ru/ cpp-beginners/ thread2985639.html
4. Говорят задачи лёгкие, но вообще не понимаю как их написать рекурсией. Другими способами могу решить, но не рекурсией, а циклом запрещено Есть три стержня. На первом из них расположено n дисков,...
C++ По данному числу определить является ли оно факториалом какого-либо натурального числа 3. Говорят задачи лёгкие, но вообще не понимаю как их написать рекурсией. Другими способами могу решить, но не рекурсией, а циклом запрещено Факториалом числа n называется число n!=1⋅2⋅3⋅...⋅n, то... https://www.cyberforum.ru/ cpp-beginners/ thread2985638.html
Найти N-е число Фибоначчи C++
2. Говорят задачи лёгкие, но вообще не понимаю как их написать рекурсией. Другими способами могу решить, но не рекурсией, а циклом запрещено Последовательностью Фибоначчи называется...
C++ Вывести число равное AB mod M Говорят задачи лёгкие, но вообще не понимаю как их написать рекурсией. Другими способами могу решить, но не рекурсией, а циклом запрещено 1. Во входном файле даны три натуральных числа A, B, M... https://www.cyberforum.ru/ cpp-beginners/ thread2985636.html
C++ Стек https://www.cyberforum.ru/ cpp-beginners/ thread2985627.html
Доброго времени суток. Проблема с удалением элемента из стека. Код должен вычислить среднее арифметическое всех элементов и заменить им первый элемент. Программа все делает, однако сказали что нужно...
Запустить программу отрисовки фрактала Жулиа с GL/glut по нажатию кнопки из формы C++
Всех приветствую, требуется помощь. Есть программа на C++ с формами, требуется по нажатию кнопки запустить отрисовку фрактала Жулиа. Вот программа с фракталом (Требуется Проект ->...
C++ Проблема с картой! При компиляции выдает "Исключение не обработано.Вызвано необработанное исключение:нарушение доступа для чтение (this было 0x50)" в tinyxml.cpp. main.cpp #include<iostream>... https://www.cyberforum.ru/ cpp-beginners/ thread2985620.html C++ Реализовать метод для вывода всего списка в стандартный вывод Дана структура для хранения списка координат МГС84 (У последнего элемента списка указатель next равен 0): struct coor { double B; double L; coor*next; } Напишите метод для вывода всего списка в... https://www.cyberforum.ru/ cpp-beginners/ thread2985618.html
Написать программу на языке C++, максимально используя при вычислении выражений собственные функции C++
Написать программу на языке C++, максимально используя при вычислении выражений собственные функции.
C++ Запись данных из файла в структуру https://www.cyberforum.ru/ cpp-beginners/ thread2985597.html
Нужно записать данные из файла в двунаправленный список(структуру). Написал функцию для этого, но она, почему-то, не работает(. Помогите, пожалуйста! #include <iostream> #include <string>...
0 / 0 / 0
Регистрация: 17.05.2022
Сообщений: 1
0

Проверка соседних элементов матрицы - C++ - Ответ 16242904

17.05.2022, 21:38. Показов 215. Ответов 0
Метки (Все метки)

Дан вещественный массив А[N][М]. Будем называть «соседями» элемента А[i][j]
такие элементы массива А, соответствующие индексы которых отличаются от i и j не бо-
лее чем на единицу. Для массива А сформировать массив В, значения элементов которо-
го вычисляются по следующему правилу: если среди соседей а[i][j] есть хотя бы один
элемент, совпадающий с а[i][j], то b[i][j]=1; в противном случае b[i][j]=0.
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
#include <ctime>
int main() 
{
    using namespace std;
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));
    int Q, N = 0;
    cout << "Введите кол-во строк: ";
    cin >> Q;
    for(int i = 0; i < Q; i ++){
        N++;
    }
    if (N < 1){
        cout << "Ошибка 1.\nКол-во строк должно быть = 1 или > 1";
    }
    else {
        int E, M = 0;
        cout << "Введите кол-во столбцов: ";
        cin >> E;
        for (int i = 0; i < E; i++){
            M++;
        }
        if (M < 1){
            cout << "Ошибка 2.\nКол-во столбцов должно быть = 1 или > 1";
        }
        else {
            cout << "Исходный массив:\n";
            double ** 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++){
                    A[i][j] = 0.1 * (rand() % 21 - 10);
                }
            }
            for (int i = 0; i < N; i++){
                for (int j = 0; j < M; j++){
                    cout << A[i][j] << "\t";
                }
                cout << "\n";
            }
            cout << "Полученный массив:\n";
            double ** B = new double * [N];
            for (int i = 0; i < N; i++){
                B[i] = new double[M];
                }
            for (int i = 0; i < N; i++){
                for (int j = 0; j < M; j++){
                 bool V = true;
                 if (i != 0) {
                     if (A[i][j] != A[i-1][j]){
                         V = false;
                     }
                 }
                 if (i != N - 1){
                     if (A[i][j] != A[i + 1][j]){
                         V = false;
                     }
                 }
                 if (j != 0){
                     if (A[i][j] != A[i][j - 1]){
                         V = false;
                     }
                 }
                 if (j != M - 1){
                     if (A[i][j] != A[i][j + 1]){
                         V = false;
                     }
                 }
                 if (i != 0 && j != M - 1){
                     if (A[i][j] != A[i - 1][j + 1]){
                         V = false;
                     }
                 }
                 if (j != 0 && i != 0){
                     if (A[i][j] != A[i - 1][j - 1]){
                         V = false;
                     }
                 }
                 if (j != 0 && i != N - 1){
                     if (A[i][j] != A[i + 1][j - 1]){
                         V = false;
                     }
                 }
                 if (j != M - 1 && i != N - 1){
                     if (A[i][j] != A[i + 1][j + 1]){
                         V = false;
                     }
                 }
                 if (V == true){
                     B[i][j] = 1;
                 }
                 else if (V == false){
                     B[i][j] = 0;
                 }
              }
            }
            for (int i = 0; i < N; i++){
                for (int j = 0; j < M; j++){
                    cout << B[i][j] << "\t";
                }
                cout << endl;
            }
            }
        }
}
Код работает, но в нужном ( полученном массиве ) всегда выписывает элементы со значением 0. Помогите пожаста)

Вернуться к обсуждению:
Проверка соседних элементов матрицы C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2022, 21:38
Готовые ответы и решения:

Определить количество пар одинаковых соседних элементов в каждой строке матрицы
в данном двухмерном массиве определить количество пар одинаковых соседних элементов в каждой строке...

Найти номера двух соседних столбцов матрицы, сумма элементов в которых максимальна
Дан двумерный массив из двух строк и двадцати столбцов. Найти номера двух соседних столбцов, сумма...

Дан массив целых чисел. Если в нем есть два соседних элемента одного знака, выведите эти числа. Если соседних элементов
#include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Russian&quot;); ...

проверка элементов матрицы
Составить программу, которая проверяет, является ли элементы линейных таблиц В C расположенными по...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2022, 21:38
Помогаю со студенческими работами здесь

Проверка на количество элементов матрицы
Как сделать проверку на количество элементов матрицы в файле, то есть, например, если размерность...

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

Сложение соседних элементов матрицы
Здравствуйте,имеем например матрицу 4x5. \begin{bmatrix} 5 \ 10 \ 2 \ 1 \\ 4 \ 2 \ 21 \ 5 \\ 1...

Сумма соседних элементов матрицы вектора
Здравствуйте форумчане, прошу у вас помощи. Есть массив матрица-вектор (1 столбец и 8147 строк),...

Нулевые элементы матрицы заменить средним арифметическим соседних элементов
Удалить из данной матрицы нулевые элементы, заменяя их средним арифметическим соседних четырех...

Найти минимальную сумму элементов в двух соседних строках матрицы
Дан двухмерный массив из пятнадцати строк и двух столбцов. Найти минимальную сумму элементов в двух...

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