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

Сортировка строк - C++

Восстановить пароль Регистрация
 
Hunter96
 Аватар для Hunter96
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 9
30.12.2010, 13:08     Сортировка строк #1
есть матрица. нужно отсортировать ее по сторокам. Т.е. строки должны идти в порядке возрастания. Сравниваем строки по первому элементу. если первые элементы равны, значит вторые и т.д.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2010, 13:08     Сортировка строк
Посмотрите здесь:

сортировка строк C++
C++ Сортировка строк
Сортировка строк C++
C++ Сортировка строк
C++ Сортировка строк
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
30.12.2010, 13:20     Сортировка строк #2
Тоесть,
3 4 (размеры)
1 4 9 2
5 1 6 1
4 6 1 6

должно вывести

1 4 9 2
4 6 1 6
5 1 6 1
???
Hunter96
 Аватар для Hunter96
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 9
30.12.2010, 14:24  [ТС]     Сортировка строк #3
Да, но у нас как би числа не дани

Добавлено через 2 минуты
так ти можеш написать программу, я вечерком зайду.
Желаю удачи.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
30.12.2010, 14:27     Сортировка строк #4
А что у нас дано?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
30.12.2010, 14:49     Сортировка строк #5
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
#include <conio.h>
#include<iostream>
#include<iomanip>
#include<cmath>
#include<map>
using namespace std;
 
int main()
{
    int n, m, i, j, sum=0, isum=0;
    multimap<int, int>map;
    
        cout<<"Vvedite razmer matrici: n, m\n";
        cin>>n>>m;
        int **mat=new int *[n];
        for(i=0;i<n;i++)mat[i]=new int[m];
        cout<<"\n\nenter elements\n\n";
        for(i=0;i<n;i++){
            for(j=0;j<m;j++){
                printf("mat[%d][%d]= ", i, j);
                cin>>mat[i][j];
            }
            cout<<endl;
        }
        cout<<"\nSozdana matrica\n\n";
        for(i=0;i<n;i++){
            for(j=0;j<m;j++){
                sum+=mat[i][j]*pow(10.0, m-j-1);
                cout<<setw(4)<<mat[i][j]<<" ";
        }
        map.insert(pair<int, int>(sum, i));
        cout<<"\n\n";
        sum=0;
    }  
    cout<<"\n\nPosle sortirovki\n\n";
    int **mat1=new int *[n];
    for(i=0;i<n;i++)mat1[i]=new int[m];
    multimap<int, int>::iterator it;
    it=map.begin();
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
                mat1[i][j]=mat[it->second][j];
                cout<<setw(4)<<mat1[i][j]<<" ";
        }
        it++;
        cout<<"\n\n";
    }
   getch();
}
Hunter96
 Аватар для Hunter96
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 9
30.12.2010, 15:04  [ТС]     Сортировка строк #6
Нам дано условия,да и что би там ,в программе, были compare и swap

Добавлено через 9 минут
Игор ти програму "Пузирёк" знаеш
Если знаеш то пожалуйста напиши мою задачу по пузирку, пожалуйста

Добавлено через 5 минут
Желаю удачи, я прийду вечером.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
30.12.2010, 15:48     Сортировка строк #7
Вот вроде как и пузырьком, но я не знаю что не работает.....(
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<conio.h>
#include<iostream>
using namespace std;
main()
{
int n, i, j, m, k=1, b[1000]={0}, sum[1000]={0};
cout<<"Enter n and m\n\n";
cin>>n>>m;
int **mas=new int *[n];
for(i=0;i<n;i++)mas[i]=new int[m];
cout<<"\n\nEnter elements\n\n";
for(i=0;i<n;i++) for (j=0; j<m; j++) cin>>mas[i][j];
cout<<"\n\nOtvet :\n\n";
for (i=0; i<n; i++);
{
    for (j=m-1; j>=0; j++)
    {
        sum[i]+=mas[i][j]*k;
        k=k*10;
        b[j]=j; // порядковый номер строки
    }
}
for (i=0; i<n; i++)
{
    for (j=0; i<n; j++)
    {
        if (sum[j]>sum[j+1])
        {
                            sum[j]=sum[j]+sum[j+1];
                            sum[j+1]=sum[j]-sum[j+1];
                            sum[j]=sum[j]-sum[j+1];
                            b[j]=b[j]+b[j+1];
                            b[j+1]=b[j]-b[j+1];
                            b[j]=b[j]-b[j+1];
        }
    }
}
for (i=0; i<n; i++)
{
    for (j=0; j<m; j++)
    {
        cout<<mas[b[i]][j]<<" ";
    }
    cout<<"\n";
}
getch();
}
Добавлено через 14 минут
Цитата Сообщение от Алексaндр Посмотреть сообщение
for (i=0; i<n; i++)
{
for (j=0; i<n; j++)
{
Сорь, тут for (j=0; j<n; j++) .

C++
1
2
3
4
5
6
7
for (j=m-1; j>=0; j++)
    {
        sum[i]+=mas[i][j]*k;
        k=k*10;
        b[j]=j; // порядковый номер строки       
    }
k=1;
И тут к=1... Но всё равно ошибка(

Добавлено через 26 минут
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<conio.h>
#include<iostream>
using namespace std;
main()
{
int n, i, j, m, k=1, b[1000]={0}, sum[1000]={0};
cout<<"Enter n and m\n\n";
cin>>n>>m;
int mas[100][100]={0};
cout<<"\n\nEnter elements\n\n";
for(i=0;i<n;i++) for (j=0; j<m; j++) cin>>mas[i][j];
cout<<"\n\n Otvet : \n\n";
for (i=0; i<n; i++)
{
    for (j=m-1; j>=0; j--)
    {
        sum[i]+=mas[i][j]*k;
        k=k*10;
        b[j]=j;
    }
    k=1;
}
for (i=0; i<n; i++)
{
    for (j=0; j<n; j++)
    {
        if (sum[j]>sum[j+1])
        {
                            sum[j]=sum[j]+sum[j+1];
                            sum[j+1]=sum[j]-sum[j+1];
                            sum[j]=sum[j]-sum[j+1];
                            b[j]=b[j]+b[j+1];
                            b[j+1]=b[j]-b[j+1];
                            b[j]=b[j]-b[j+1];
        }
    }
}
for (i=0; i<n; i++)
{
    for (j=0; j<m; j++)
    {
        cout<<mas[b[i]][j]<<" ";
    }
    cout<<"\n";
}
getch();
}
Ещё немного осталось доделать... =)))
Hunter96
 Аватар для Hunter96
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 9
30.12.2010, 20:02  [ТС]     Сортировка строк #8
Об’ясни что такое int,cout,cin,getch
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
30.12.2010, 20:03     Сортировка строк #9
Hunter96, Откройте книжку да посмотрите.
Hunter96
 Аватар для Hunter96
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 9
30.12.2010, 20:36  [ТС]     Сортировка строк #10
Цитата Сообщение от asics Посмотреть сообщение
Hunter96, Откройте книжку да посмотрите.
Дай книжку!!!
asics
30.12.2010, 20:46
  #11

Не по теме:

Цитата Сообщение от Hunter96 Посмотреть сообщение
Дай книжку!!!
Юморист да ? Ну-ну...

Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
31.12.2010, 15:27     Сортировка строк #12
Сорь, в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
48
49
#include<conio.h>
#include<iostream>
using namespace std;
main()
{
int n, i, j, m, k=1, b[1000]={0}, sum[1000]={0};
cout<<"Enter n and m\n\n";
cin>>n>>m;
int mas[100][100]={0};
cout<<"\n\nEnter elements\n\n";
for(i=0;i<n;i++) for (j=0; j<m; j++) cin>>mas[i][j];
cout<<"\n\n Otvet : \n\n";
for (i=0; i<n+1; i++)
{
    for (j=m; j>=0; j--)
    {
        sum[i]=sum[i]+mas[i][j]*k;
        k=k*10;  
    }
    b[i]=i;
    k=1;
}
for (i=0; i<n+1; i++)
{
    for (j=0; j<n-1; j++)
    {
        if (sum[j]>sum[j+1])
        {
                            sum[j]=sum[j]+sum[j+1];
                            sum[j+1]=sum[j]-sum[j+1];
                            sum[j]=sum[j]-sum[j+1];
                            b[j]=b[j]+b[j+1];
                            b[j+1]=b[j]-b[j+1];
                            b[j]=b[j]-b[j+1];
        }
    }
}
int u;
for (i=0; i<n; i++)
{
    u=b[i];
    for (j=0; j<m; j++)
    {
        cout<<mas[u][j]<<" ";
    }
    cout<<"\n";
}
getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2010, 16:59     Сортировка строк
Еще ссылки по теме:

C++ Сортировка строк матрицы C++ (перестановка строк)
C++ Сортировка строк
C++ Сортировка строк

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

Или воспользуйтесь поиском по форуму:
Sxronjke
1 / 1 / 0
Регистрация: 17.10.2010
Сообщений: 54
31.12.2010, 16:59     Сортировка строк #13
Цитата Сообщение от Hunter96 Посмотреть сообщение
Об’ясни что такое int,cout,cin,getch
если ты такого не знаешь, то тебе надо открывать любой учебник по С++ и изучать всё с начало! а ты уже в сортировку полез) тебе до неё ещё далеко)
Yandex
Объявления
31.12.2010, 16:59     Сортировка строк
Ответ Создать тему
Опции темы

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