Форум программистов, компьютерный форум CyberForum.ru

Как найти количество рядков в матрице,которые упорядочены по возрастанию? - C++

Восстановить пароль Регистрация
 
tanyushka_p
-1 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 17
13.06.2013, 08:11     Как найти количество рядков в матрице,которые упорядочены по возрастанию? #1
Дана матрица розмерностью m х n. Найти количество рядков в матрице, которые упорядочены по возрастанию.

Добавлено через 12 часов 55 минут
пожалуйста помогите эта практика уже мозг выносит...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2013, 08:11     Как найти количество рядков в матрице,которые упорядочены по возрастанию?
Посмотрите здесь:

Найти количество строк матрицы, элементы которых упорядочены по возрастанию. C++
C++ Дана матрица размера N×M. Найти максимальный среди элементов тех строк|столбцов, которые упорядочены либо по возрастанию
Найти количество строк матрицы, элементы которых упорядочены по возрастанию. C++
C++ Найти количество строк матрицы, элементы которых упорядочены по возрастанию
C++ Файл: Для заданной в файле матрицы A (n на m) определить количество строк, которые упорядочены по возрастанию
Найти максимальный элемент среди всех элементов тех строк заданной матрицы А (4,4), которые упорядочены по возрастанию C++
C++ Найти количество столбцов, где все элементы упорядочены по возрастанию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Lvaruky
8 / 8 / 0
Регистрация: 10.05.2013
Сообщений: 26
13.06.2013, 08:54     Как найти количество рядков в матрице,которые упорядочены по возрастанию? #2
tanyushka_p, что за "рядки в матрице" ?
Вот алгоритм для нахождения количества строк, в которых элементы упорядочены по возрастанию:
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
#include <iostream>
 
using namespace std;
 
int main () {
    int n,m,res=0;
    bool flag=false;
    cin>>n>>m;
    //выделение памяти
    int **mas=new int *[n];
    for (int i = 0; i < n; i++) {
        mas[i]=new int [m];
    }
    //заполнение массива с клавиатуры
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin>>mas[i][j];
        }
    }
    //проверка вашего условия
    for (int i = 0; i < n; i++) {
        for (int j = 1; j < m; j++) {
            if (mas[i][j-1]>=mas[i][j]) {
                flag=true;
                break;
            }
        }
        if (flag) {
            flag=false;
            continue;
        }
        res++;
    }
    cout<<res;
    return 0;
}
если нужно для столбцов, поменяйте i и j местами.

Добавлено через 6 минут
ах, да, забыл; если числа могут повторятся в строке, уберите = здесь:
C++
1
if (mas[i][j-1]>=mas[i][j])
в таком случае строка/столбец полностью состоящая из одного числа будет считаться отсортированной.
Yandex
Объявления
13.06.2013, 08:54     Как найти количество рядков в матрице,которые упорядочены по возрастанию?
Ответ Создать тему
Опции темы

Текущее время: 22:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru