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

Найти максимальный и минимальный элементы заштрихованной области матрицы

21.06.2021, 11:49. Показов 1489. Ответов 1
Метки нет (Все метки)

Если N>5, то диагональ определяется неправильно и программа неверно выводит мин и макс. как сделать правильно?
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
#include <iostream> //библиотека ввода - вывода
#include <cmath> // библиотека математических функций
 
int main() // начало главной функции программы
{
    using namespace std; //для использования стандартных потоков (cin cout cerr)
    setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали, нужно для того чтобы консоль выводила русский язык
    cout << "Введите количество элементов массива N=";
    int N, i, j;
    cin >> N;
    double min, max;
    double** A;                 //объявление двумерного массива
    A = new double* [N];
    for (i = 0; i < N; i++)
        A[i] = new double[N];
    cout << "Введите элементы массива A:\n"; //Ввод переменных массива
    for (i = 0; i < N; i++)
    {
        for (j = 0; j < N; j++)
        {
            cout << "A[" << i << "][" << j << "] = ";
            cin >> A[i][j];
        }
    }
    cout << "Вывод элементов массива A:\n"; //Вывод элементов массива
    for (i = 0; i < N; i++)
    {
        cout << "строка " << i + 1 << ":\t";
        for (j = 0; j < N; j++)
        {
            cout << A[i][j] << "\t";
        }
        cout << "\n";
    }
    min = A[0][0];
    max = A[0][0];
    for (i = 0; i < N; i++) //Поиск элементов массива, входящих в указанную зону
    {
        for (j = 0; j < N and ((i - j <= 0) && (i + j - N + 1 <= 0)) || ((i - j >= 0) && (i + j - N + 1 >= 0)); j++)
        {
 
            if (A[i][j] < min)
                min = A[i][j];
            if (A[i][j] > max)
                max = A[i][j];
 
        }
    }
    cout << "\nМинимальный элемент: " << min;
    cout << "\nМаксимальный элемент: " << max;
 
    cout << "\nПрограмма завершена\n";
    system("pause");
    
    return 0; //Когда функция main() завершает своё выполнение, она возвращает значение обратно в операционную систему.
}
Миниатюры
Найти максимальный и минимальный элементы заштрихованной области матрицы  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2021, 11:49
Ответы с готовыми решениями:

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

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

Найти максимальный и минимальный элементы матрицы в заданной области
Проблемы с переводом на с++ var a:array of real; n,i,j:integer; mn,mx:real; begin...

Найти минимальный элемент в заштрихованной области матрицы
дана матрица целых чисел В(n,n), где n-четное найти минимальный элемент в заштрихованной области

1
21 / 12 / 9
Регистрация: 02.03.2019
Сообщений: 45
21.06.2021, 15:51 2
Лучший ответ Сообщение было отмечено orlovaya_ как решение

Решение

Может так...
Насчет правильности не уверен.
Если n нечетное, то диагонали не пересекаются "в элементе"
Сами диагонали включаются?
Если n == 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <iostream> //библиотека ввода - вывода
#include <cmath> // библиотека математических функций
 
using namespace std; //для использования стандартных потоков (cin cout cerr)
 
int main() // начало главной функции программы
{
    setlocale(LC_CTYPE, "rus"); // вызов функции настройки локали, нужно для того чтобы консоль выводила русский язык
    cout << "Введите количество элементов массива N=";
    int N, i, j;
    cin >> N;
    double min, max;
    double** A;                 //объявление двумерного массива
    A = new double* [N];
    for (i = 0; i < N; i++)
        A[i] = new double[N];
    cout << "Введите элементы массива A:\n"; //Ввод переменных массива
    for (i = 0; i < N; i++)
    {
        for (j = 0; j < N; j++)
        {
            cout << "A[" << i << "][" << j << "] = ";
            cin >> A[i][j];
        }
    }
    cout << "Вывод элементов массива A:\n"; //Вывод элементов массива
    for (i = 0; i < N; i++)
    {
        cout << "строка " << i + 1 << ":\t";
        for (j = 0; j < N; j++)
        {
            cout << A[i][j] << "\t";
        }
        cout << "\n";
    }
    min = A[0][0];
    max = A[0][0];
    for (i = 0; i < N; i++) //Поиск элементов массива, входящих в указанную зону
    {
        for (j = 0; j < N; j++)
        {
            // верхняя часть
            if (i < N /2 && j >= i && j < N - i) {
                if (A[i][j] < min)
                    min = A[i][j];
                if (A[i][j] > max)
                    max = A[i][j];
            }
 
            // нижняя часть
            if (i >= N /2 && j <= i && j >= N - i - 1) {
                if (A[i][j] < min)
                    min = A[i][j];
                if (A[i][j] > max)
                    max = A[i][j];
            }
 
        }
    }
    cout << "\nМинимальный элемент: " << min;
    cout << "\nМаксимальный элемент: " << max;
 
    cout << "\nПрограмма завершена\n";
    system("pause");
 
    return 0; //Когда функция main() завершает своё выполнение, она возвращает значение обратно в операционную систему.
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2021, 15:51
Помогаю со студенческими работами здесь

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

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

Найти минимальный элемент матрицы и сумму элементов заштрихованной области
Дана целочисленная матрица 8x8. Найти ее минимальный элемент и сумму элементов заштрихованной...

Найти минимальный элемент матрицы и сумму элементов заштрихованной области
Дана целочисленная матрица 8x8. Найти ее минимальный элемент и сумму элементов заштрихованной...

Найти максимальный элемент матрицы и сумму элементов заштрихованной области
Задание 1. Ввести с клавиатуры матрицу C(4,3). Вывести ее на экран.Создать из матрицы C матрицу P...

Найти максимальный элемент матрицы и сумму элементов заштрихованной области
Задача 1. Ввести с клавиатуры матрицу с(4,3). Вывести ее на экран. Создать из матрицы C матрицу P...


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

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

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