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

Правильная проверка на возрастание или спадание ряда массива

05.12.2022, 14:35. Показов 248. Ответов 3
Метки c++ (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, было у меня задание, находить максимальный элемент в тех строках матрицы, которые упорядоченные по возрастанию или спаданию. Код у меня есть, только нужно учесть случаи при этих условиях, когда первый элемент ряда больше второго но меньше третьего, и я никак не могу это сделать. Пробовал через if с амперсантом, но не получается.
Вот код.
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
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "Rus");
    int r, c;
    cout << "Введите размерность матрицы: ";
    cin >> r >> c;
    int** matrix = new int*[r];
    for (int i = 0; i < r; i++)
    {
        matrix[i] = new int[c];
    }
    int k = 1;
    for (int i = 0; i < r; i++)
    {
        for (int j = 0; j < c; j++)
        {
            cout << "Введите " << k++ << " элемент массива : ";
            cin >> matrix[i][j];
        }
    }
    for (int i = 0; i < r; i++)
    {
        for (int j = 0; j < c; j++)
        {
            cout << matrix[i][j]<< "\t";
        }
        cout << endl;
    }
    bool x, y, z;
    int s = 0;
    for (int i = 0; i < r; ++i)
    {
        for (int j = 0; j < c - 1; ++j)
        {
            
            if (matrix[i][j] > matrix[i][j + 1])
            {
                
                    cout << i + 1 << " Строка упорядочена по спаданию." << endl;
                    cout << "Максимальный элемент строки : " << matrix[i][j] << endl;
                    break;
                
 
            }
            if (matrix[i][j] < matrix[i][j + 1])
            {
                cout << i + 1 << " Строка упорядочена по возрастанию." << endl;
                cout << "Максимальный элемент строки : " << matrix[i][j+c-1]<<endl;
                break;
            }
            
            else
            {
                cout << i + 1 << " Строка никак не упорядочена."<< endl;
                break;
            }
 
        }
    }
    
    for (int i = 0; i < r; i++)
    {
        delete[] matrix[i];
    }
    delete[] matrix;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2022, 14:35
Ответы с готовыми решениями:

Проверка после-ти чисел на возрастание или убывание
Вводятся минимум 1(не ноль) и более чисел. Ввод заканчивается если ввести 0. 0 членом послед-ти не...

Проверка сортировки массива на возрастание/убывание
Всем Привет! С Праздниками Всех! сделал программу и в ней 2 функции которые должны делать...

Вычислить сумму ряда. Где-то напутал знаки или формула ряда не правильная. Посмотрите свежим взглядом.
Привет! Пишу простую контрольную, не могу понять, то ли я где-то со знаками туплю, то ли формула...

Проверка на возрастание
Дана задача: Пользователь вводит последовательность температур. и нужно проверить яв-ся ли она...

Цикл-проверка на возрастание
Сделал проверку на ввод чисел по возрастанию,вот только хотелось сделать так,чтобы если числа...

3
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,519
Записей в блоге: 1
05.12.2022, 14:37 2
Цитата Сообщение от Vagab0nd Посмотреть сообщение
спадание
нет такого слова "спадання" ни в одном языке мира.
0
573 / 475 / 99
Регистрация: 05.08.2022
Сообщений: 2,598
05.12.2022, 15:39 3
Цитата Сообщение от Vagab0nd Посмотреть сообщение
только нужно учесть случаи при этих условиях, когда первый элемент ряда больше второго но меньше третьего
Перечитал 3 раза, ничего не понял
Это дополнительное условие к исходному? или это вообще другая задача?
0
0 / 0 / 0
Регистрация: 05.12.2022
Сообщений: 4
05.12.2022, 18:45  [ТС] 4
ну смотри, допустим у меня матрица 3 на 3
1 2 3
5 4 9
3 2 1
Исходя из моего кода, первый ряд у меня будет по возрастанию, а второй уже по убыванию, хотя он по убыванию не идет. А мне выводится, что максимальный элемент ряда 5, а не 9. И мне нужно сделать так, чтобы была дополнительная проверка что ли. Так как мой код проверяет 1 и 2 элементы ряда, а дальше нет.
0
05.12.2022, 18:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2022, 18:45
Помогаю со студенческими работами здесь

Проверка числа на возрастание
Вот код: $c = 70; $var = 20; $f_1 = substr( $count, -1, 1 ); if(...

Проверка на возрастание числовой последовательности
доброго времени суток, возникает ошибка при решении задачи : сделал так :...

Смешанные алгоритмы. Проверка последовательности на возрастание
Здравствуйте, помогите, пожалуйста, решить. Дана последовательность вещественных чисел....

Возрастание или убывание
Определить, является ли массив возрастающей или убывающей последовательностью (через булевскую...

Проверить последовательность чисел на возрастание или убывание
Нужно написать программу, которая проверит последовательность n чисел, введённой на клавиатуре, на...

Возрастание или убывание элементов в массиве через процедуры
Добрый вечер! Помогите, пожалуйста! Даны три целочисленных массива длиной n, m, l (заполняются...


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

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