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

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

Восстановить пароль Регистрация
 
FedVetal
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 53
23.11.2012, 01:17     Сортировка масивов #1
Посмотрите пжл что не так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# include <iostream>
using namespace std;
int main()
{int a[10]={10,12,6,4,1,8,17,2,9};
int c,is;
    for(int i=0;i<10;i++)
    cout <<a[i]<<" ";
    do{is=0;
    for(int i=1;i<10;i++)
        if(a[i-1]>a[i])
        {c=a[i];
    a[i]=a[i-1];
    a[i-1]=c;
    is=1;};
    }
    while(is=1);
    for(int i=0;i<10;i++)
        {cout<<a[i];}
    cout<<endl;
return 0;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
23.11.2012, 01:24     Сортировка масивов #2
C++
1
2
3
is=1;};
    }
    while(is=1);
Вечный цикл

Добавлено через 5 минут
и еще у вас массив объявлен размерностью 10, а проинициализирован лишь 9 элементами.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# include <iostream>
using namespace std;
int main()
{int a[10]={10,12,6,4,1,8,17,2,9,1};
int c;
    for(int i=0;i<10;i++)
    cout <<a[i]<<" ";
    for(int i=1;i<10;i++)
        for(int j=i;j<10;j++)
        if(a[i-1]>a[j])
        {c=a[j];
    a[j]=a[i-1];
    a[i-1]=c;
    }
    cout<< endl;
    for(int i=0;i<10;i++)
        {cout<<a[i]<< " ";}
    cout<<endl;
return 0;}
FedVetal
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 53
23.11.2012, 01:26  [ТС]     Сортировка масивов #3
точно ,в оригинале было просто while(is); а что ета строчка значит? можете обьяснирть?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
23.11.2012, 01:28     Сортировка масивов #4
Сокр. запись while(is != 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
#include <iostream>
 
using namespace std;
 
int main()
{
    const int N = 10;
    int a[N] = {10, 12, 6, 4, 1, 8, 17, 2, 9, 1 };
 
    for(int i=0; i < N;i++)
        cout<< a[i]<< " ";
    cout<< endl;
 
    for(int i=1; i < N; i++)
        for(int j=i; j < N; j++)
            if(a[i - 1] > a[j])
            {
                int c = a[j];
                a[j]=a[i - 1];
                a[i - 1]=c;
            }
 
    for(int i=0;i<10;i++)
        cout<< a[i]<< " ";
    cout<< endl;
    return 0;
}
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
23.11.2012, 01:36     Сортировка масивов #5
Т.Кормен, Ч.Лейзер "Алгоритмы" страници 57,72. Приведены 2 интересных алгоритма сортировки.

p.s. Написано доходчиво на языке псевдо кода.
Yandex
Объявления
23.11.2012, 01:36     Сортировка масивов
Ответ Создать тему
Опции темы

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