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

Проверить, упорядочены ли строки матрицы по убыванию - C++

Восстановить пароль Регистрация
 
Oleg2331
Сообщений: n/a
15.01.2014, 03:36     Проверить, упорядочены ли строки матрицы по убыванию #1
Вообщем нужно написать программу на С++. Вроде как на форуме нашел темку, но благодаря тому, что я С++ я разбираюсь слабо не могу понять, что к чему) Помогите, если не затруднит)
Задание:Из матрицы размером NxM получить вектор B, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по убыванию, иначе 0.
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#define N 5
#define M 6
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
#define N 5
#define M 6
 
int main(int argc, char* argv[])
{
    int A[N][M] = { { 1, 2, 3, 4, 5, 6 },
                    { 4, 9, 3, 2, 1, 7 },
                    { 9, 8 ,7, 6, 5, 4 },   
                    { 3, 2, 1, 7, 6, 5 },
                    { 5, 4, 3, 2, 1, 0 } };
 
    for (int k1 = 0; k1 < N; k1++)
    {
        for (int k2 = 0; k2 < M; k2++)
            printf("%d ",A[k1][k2]);
 
        printf("\n");
    }
 
    printf("\n");
 
    int B[N] = { 0 };
    for (int i = 0; i < N; i++)
    {
        bool asc = false;
        for (int k = 0; k < M-1 && !asc; k++)
            asc = (A[i][k] < A[i][k+1]) ? 1 : 0;
 
        B[i] = asc == false ? 1 : 0;
    }
 
    for (int z = 0; z < N; z++)
        printf("%d ",B[z]);
 
    printf("\n");
 
    _getch();
 
    return 0;
}
 
//---------------------------------------------------------------------------
Добавлено через 2 часа 4 минуты
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------
#define N 5
#define M 6
#pragma argsused
int main(int argc, char* argv[])
{
 int A[N][M]={ {1,2,3,4,5,6},
               {4,9,3,2,1,7},
               {9,8,7,6,5,4},
               {3,2,1,7,6,5},
               {5,4,3,2,1,0}};
 
    for (int k1 = 0; k1 < N; k1++)
    {
        for (int k2 = 0; k2 < M; k2++)
            printf("%d ",A[k1][k2]);
 
        printf("\n");
    }
 
    printf("\n");
 
    int B[N] = { 0 };
    for (int i = 0; i < N; i++)
    {
        bool asc = false;
        for (int k = 0; k < M-1 && !asc; k++)
            asc = (A[i][k] < A[i][k+1]) ? 1 : 0;
 
        B[i] = asc == false ? 1 : 0;
    }
 
    for (int z = 0; z < N; z++)
        printf("%d ",B[z]);
 
    printf("\n");
 
    _getch();
        return 0;
}
//---------------------------------------------------------------------------
Вроде переделал, но встает вопрос. Как работает программа?) Может кто-нибудь набросать алгоритм работы ее, а то я уже ничего не понимаю. Завтра утром нужно сдавать)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 03:36     Проверить, упорядочены ли строки матрицы по убыванию
Посмотрите здесь:

Проверить, все ли столбцы матрицы упорядочены по возрастанию. Если да, то увеличить все элементы матрицы вдвое C++
Проверить, все ли строки матрицы упорядочены по возрастанию C++
C++ Найти количество столбцов матрицы, элементы которых упорядочены по убыванию
C++ Работа со списками (Проверить, упорядочены ли числа по возрастанию или по убыванию)
Получить массив B, присвоив его k-му элементу 1, если элементы k-й строки матрицы упорядочены по убыванию C++
C++ Определить, упорядочены ли по убыванию элементы k-ой строки матрицы
C++ Определить, упорядочены ли по убыванию элементы k-ой строки матрицы
Проверить, упорядочены ли по неубыванию суммы элементов строк данной матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
15.01.2014, 09:57     Проверить, упорядочены ли строки матрицы по убыванию #2
В задании не сказано, а что если нет упорядоченности? Ведь если заранее знать точно что все таки упорядочены элементы, то достаточно проверить на это 0й и 1й и сразу делать вывод как именно упорядоченны.
Yandex
Объявления
15.01.2014, 09:57     Проверить, упорядочены ли строки матрицы по убыванию
Ответ Создать тему
Опции темы

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