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

Нужно найти максимальный элемент массива среди элементов,лежащих ниже побочной диагонали.Правильно ли считает программа?

17.10.2021, 20:47. Показов 809. Ответов 7
Метки нет (Все метки)

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
#include <iostream>
#include <iomanip>
 
 
using namespace std;
 
int main() {
    int M = 0, N = 0;
    int A[30][30];
    cout << "enter the size of array ( N x M )" << "\nN= ";
    cin >> N;
    cout << "M= ";
    cin >> M;
 
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            cin >> A[i][j];
        }
    }
 
    cout << "array A: " << endl
        ;
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            cout << setw(5) << A[i][j] << " ";
        }
        cout << endl;
    }
 
    int max = A[0][0];
    for (int i = 0; i < N; ++i) {
        for (int j = 0; j < M; ++j) {
            if (i >(N - j - 1))
                if (A[i][j] > max)
                    max = A[i][j];
        }
    }
 
    cout << endl << "max= " << max << endl;
    return 0;
 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2021, 20:47
Ответы с готовыми решениями:

Нужно найти максимальный элемент массива NxM среди элементов, лежащих ниже побочной диагонали. В чем ошибка?
#include &lt;iostream&gt; using namespace std; int main() { int M = 0, N = 0; int a; ...

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

Найти максимальный среди элементов, лежащих ниже побочной диагонали.
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace...

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

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

7
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
17.10.2021, 21:01 2
Цитата Сообщение от volver Посмотреть сообщение
Правильно ли считает программа?
А вы пробовали её запускать?
Во-первых max = A[0][0] это уже не ниже побочной диагонали.
Во-вторых даже если это исправить, имеем следующую ситуацию:
Код
Ввод        | Вывод
4           | 4
3           | 
12 11 10    | 
 9  8  7    | 
 6  5  4    | 
 3  2  1    | 

Ввод        | Вывод
3           | 9
4           | 
12 11 10  9 | 
 8  7  6  5 | 
 4  3  2  1 |
0
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 413
17.10.2021, 21:05  [ТС] 3
когда я считал, при 3х3 у меня получилось:
9 6 5
6 3 5
2 1 4
и максимальное 9...
0
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
17.10.2021, 21:16 4
Лучший ответ Сообщение было отмечено volver как решение

Решение

По вашему ответу я не понимаю, вы жалуетесь на то что даже при вашем вводе это не работает, или наоборот считаете что всё нормально...
Вот это ниже побочной диагонали:
C++
1
2
3
4
5
int max = A[N - 1][M - 1];
for (int i = 1; i < N; ++i)
    for (int j = std::max(M - i, 0); j < M; ++j)
        if (A[i][j] > max)
            max = A[i][j];
1
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 413
17.10.2021, 21:19  [ТС] 5
а в 3 строчке std::max(M - i, 0); j < M; ++j), это что?
0
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
17.10.2021, 21:26 6
На каждой строке вы можете проверить размер_строки - номер_строки элементов с конца. Это M - i.
В случае, если строк больше, чем элементов в одной строке, вы можете выйти за пределы массива. Чтобы это предотвратить нужно отрицательные значения заменять на 0. Это std::max(M - i, 0), или M - i > 0 ? M - i : 0 если вам не нравится вызывать функцию.
1
2 / 2 / 0
Регистрация: 18.09.2021
Сообщений: 413
17.10.2021, 21:33  [ТС] 7
Цитата Сообщение от Bleach163 Посмотреть сообщение
По вашему ответу я не понимаю, вы жалуетесь на то что даже при вашем вводе это не работает, или наоборот считаете что всё нормально...
Вот это ниже побочной диагонали:
C++
1
2
3
4
5
int max = A[N - 1][M - 1];
for (int i = 1; i < N; ++i)
    for (int j = std::max(M - i, 0); j < M; ++j)
        if (A[i][j] > max)
            max = A[i][j];
а как это можно написать просто через if?
0
458 / 294 / 191
Регистрация: 23.06.2018
Сообщений: 678
17.10.2021, 21:37 8
C++
1
2
3
4
5
6
7
for (int i = 1; i < N; ++i) {
    int j = M - i;
    if (j < 0) j = 0;
    for (; j < M; j++)
        if (A[i][j] > max)
            max = A[i][j];
}
1
17.10.2021, 21:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.10.2021, 21:37
Помогаю со студенческими работами здесь

Найти max среди элементов, лежащих ниже побочной, и min среди элементов, лежащих выше главной диагонали
В матрице размером NхM найти максимальный среди элементов, лежащих ниже побочной диагонали, и...

Найти max среди элементов матрицы, лежащих ниже побочной диагонали, и min среди элементов выше главной диагонали
2. В матрице n-го порядка найти максимальный среди элементов, лежащих ниже побочной диагонали, и...

В МАТРИЦЕ найти максимальный среди элементов лежащих ниже побочной диагонали и максимальный среди эл-тов, лежащих выше главной диагонали
В МАТРИЦЕ n-го порядка найти максимальный среди элементов лежащих ниже побочной диагонали и...

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

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

В матрице найти максимальный среди элементов, лежащих ниже побочной диагонали
Доброго всем! Может кто-нибудь помочь с задачкой? a)В матрице n-ого порядка найти максимальный...


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

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