Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
3 / 3 / 0
Регистрация: 03.03.2021
Сообщений: 25
1

Перебор элементов в матрице

10.03.2021, 15:10. Показов 658. Ответов 0

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста. Есть функция, которая должна находить минимальное четное число между главной и побочной диагоналями, которые формируют песочные часы. На данный момент функция перебирает неправильно, но найти ошибку не могу.

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

А вот моя программа, которая работает почему-то некорректно(именно сама функция):

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
#include <iostream>
#include <clocale>;
using namespace std;
 
 
int chetnoe(int n, int mas[4][4])
{
    int i, m, v;
    int min = INT_MAX;
    for (int i = 0; i < n; i++) 
    {
        for (int j = 0; j < n; j++)
        {
            if ((i <= n / 2) and (i >= j) and (i <= n - j))
            {
                if ((mas[i][j] < min) and (mas[i][j] % 2 == 0))
                {
                    m = mas[i][j];
                }
            }
            else
            {
                if ((i <= j) and (i >= n - j) and (mas[i][j]< min) and (mas[i][j] % 2 == 0))
                {
                    m = mas[i][j];
                }
            }
        }
    }
    return m;
}
 
int main(int argc, const char* argv[])
{
    setlocale(LC_ALL, "rus");
    int const n = 4;
    cout << "Размерность матрицы: " << n << endl;
    int mas[n][n];
    cout << "Введите матрицу\n";
 
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++)
        {
            cout << "Введите элемент массива[" << i + 1 << "][" << j + 1 << "]: ";
            cin >> mas[i][j];
        }
    }
    int m = chetnoe(n, mas);
    cout << "Минимальное четное число: " << m;
}
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.03.2021, 15:10
Ответы с готовыми решениями:

В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество нулевых элементов в матрице
В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество...

Перебор букв в матрице
Имеется таблица вида: (Массив вида NxM) Необходимо перебрать все буквы смежные между собой....

Перебор двочного кода по строкам в матрице
подскажите пожалуйста алгоритм перебора двоичного кода построчно(цикл в цикле) с выводом каждого...

Как реализовать перебор бит в матрице?
Эту программу задумал делать как альтернативу ранее используемой, где я перебирал все биты для...

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

Перебор всех нечетных элементов массива х из 99 элементов
Чему будет равно значение переменной s после завершения фрагмента программы: s:=0; i:=1; while...

Перебор элементов
Есть разметка: &lt;div class=&quot;product-card&quot;&gt; &lt;div class=&quot;product-char variable&quot;&gt; &lt;span...

Перебор элементов
Всем доброго, подскажите как перебрать все блоки $('.tab-content div') Мне собственно нужно...

Перебор элементов
Вот такой запрос сгенерировал linq to sql SELECT TOP (1) ., ., ... FROM AS WHERE . = @p0...

Перебор элементов в массиве
Здравствуйте. Как выбрать нужные элементы в массиве и записать их в строку? Условие задачи: Есть...

Перебор элементов массива
Господа,является ли метод do_something_with_value (*iter); в коде перебора , частью API ,или это...


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

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