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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Feanoro
1 / 1 / 0
Регистрация: 27.03.2008
Сообщений: 15
#1

Сортировка СТРОК матрицы m*m - C++

21.11.2009, 18:41. Просмотров 481. Ответов 4
Метки нет (Все метки)

задание: Упорядочить строки матрицы размером m*m в порядке возрастания елементов в главной диагонали.

Чисто вручную получается только перестановками строк p(m) при чем не всегда можно по возрастанию ... а алгоритма определенного не могу найти... прошу помощи
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2009, 18:41     Сортировка СТРОК матрицы m*m
Посмотрите здесь:

Сортировка строк матрицы по возрастанию первых элементов C++
C++ Сортировка строк матрицы
Сортировка строк матрицы методом Шелла C++
Сортировка элементов строк матрицы по убыванию C++
C++ Сортировка строк матрицы в порядке возрастания их средних арифметических значений
Сортировка строк матрицы по возрастанию суммы их элементов C++
C++ Сортировка строк матрицы по возрастанию
C++ Сортировка строк матрицы в алфавитном порядке
C++ Сортировка элементов строк матрицы по возрастанию
Сортировка строк матрицы - C++ C++
C++ Сортировка строк матрицы по убыванию
Сортировка строк матрицы по алфавиту C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.11.2009, 21:33     Сортировка СТРОК матрицы m*m #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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <iostream.h>
#include <windows.h>
 
bool sled_mas1(int *mas1, int n)
{
    int i, j;
    bool fl=false, fl1=false;
    while(!fl)
    {
        mas1[n-1]++;
        fl=true;
    for(i=n-1; i>=0; i--)
    {
        if(mas1[i]==n)
        {
            mas1[i]=0;
            mas1[i-1]++;
        }
    }
    for(i=0; i<n-1; i++)
        for(j=i+1; j<n; j++)
            if(mas1[i]==mas1[j])
                fl=false;
    if(mas1[0]==n-1 && mas1[1]==n-1)
    {
        fl=true;
        fl1=true;
    }
    }
    return fl1;
}
int main ()
{
    int **mas, *mas1, **mas_rez, n, i, j;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå Г°Г*çìåðГ*îñòü Г¬Г*òðèöû: "<< endl;
    cin>>n;
    mas=new int*[n]; 
    mas_rez=new int*[n];
    for(i=0; i<n; i++)
    {
       mas[i]=new int[n];
       mas_rez[i]=new int[n];
    }
    cout<<"Ââåäèòå ýëåìåГ*ГІГ» Г¬Г*òðèöû: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<n; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
        cout<<"èñõîäГ*Г*Гї Г¬Г*òðèöГ*"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas[i][j]<<" ";
          cout<<endl;
        }
    // ñîðòèðîâêГ*
    mas1=new int[n];
    for(i=0; i<n; i++)
        mas1[i]=i;
    mas1[n-1]--;
    bool fl=false, fl1=false;
    while(!fl && !fl1)
    {
        fl1=sled_mas1(mas1, n);
        fl=true;
        for(i=0; i<n-1; i++)
            if(mas[mas1[i]][i]>mas[mas1[i+1]][i+1])
                fl=false;
    }
    if(fl1)
        cout<<"ГђГҐГёГҐГ*ГЁГ© Г*ГҐГІ"<<endl;
    else
    {
        for(i=0; i<n; i++)
            for(j=0; j<n; j++)
                mas_rez[i][j]=mas[mas1[i]][j];
        cout<<"îòñîðòèðîâГ*Г*Г*Г*Гї Г¬Г*òðèöГ*"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
          cout<<mas_rez[i][j]<<" ";
          cout<<endl;
        }
    }          
 
    return 0; 
}
Вижу решение только методом перебора
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
21.11.2009, 23:01     Сортировка СТРОК матрицы m*m #3
Алгоритмы сортировок
смотрел FAQ?
Feanoro
1 / 1 / 0
Регистрация: 27.03.2008
Сообщений: 15
21.11.2009, 23:43  [ТС]     Сортировка СТРОК матрицы m*m #4
Во, метод перебора и я пробовал, это оно
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
22.11.2009, 07:17     Сортировка СТРОК матрицы m*m #5
МедведЪ, тут к сожалению указанные сортировки не подойдут
Yandex
Объявления
22.11.2009, 07:17     Сортировка СТРОК матрицы m*m
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru