Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Простой вопрос по сортировке / 12 сообщений из 12, страница 1 из 1
05.12.2006, 23:48
    #34179009
SPbP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
Плиз помогите начинающему (С++)!
Задача такая - с помощью потока ввода инициализируется целочисленный одномерный массив, его нужно сортировать по возрастанию на каждом введенном элементе... Хотя бы как примерно...
...
Рейтинг: 0 / 0
06.12.2006, 00:04
    #34179018
SPbP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
UP
...
Рейтинг: 0 / 0
06.12.2006, 03:51
    #34179111
AsPiro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
SPbPПлиз помогите начинающему (С++)!
Задача такая - с помощью потока ввода инициализируется целочисленный одномерный массив, его нужно сортировать по возрастанию на каждом введенном элементе...F1 -> qsort(); ???
SPbPХотя бы как примерно... А что примерно не получается?
...
Рейтинг: 0 / 0
06.12.2006, 10:11
    #34179484
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
1. Реализуешь сортировку для произвольного числа элементов и вызываешь ее когда тебе надо.

2. Лучше вариант - это просто вставка. Если будешь каждый раз вставлять элемент на нужную позицию, то массив не надо будет сортировать. Т.к. он перед вставкой отсортирован, раз всегда вставляли на нужную позицию. Просто надо будет ее найти. Например, последовательным перебором всех элементов с начала. Как только находишь, елемент больше вставляемого (сортировка по возрастанию), то перед ним ставишь свой. Не находишь - в конец. Можно методом деления по полам. Смотришь средний элемент, определяешь, где смотреть далее, и т.д.
...
Рейтинг: 0 / 0
09.12.2006, 22:03
    #34188104
SPbP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
Сделал с помощью вставки...

А как в таком варианте сделать проверку вводимого значения на наличие в массиве, и если оно есть, игнорировать?
...
Рейтинг: 0 / 0
09.12.2006, 22:11
    #34188107
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
В постановке ничего не сказано про фильтрацию элементов в массиве. Поэтому - добавляй.
...
Рейтинг: 0 / 0
09.12.2006, 22:15
    #34188108
SPbP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
Задача несколько видоизменилась - с помощью потока ввода инициализируется целочисленный одномерный массив, его нужно сортировать по возрастанию на каждом введенном элементе...
при этом очередное значение вводится только при условии, что его еще нет в массиве...
...
Рейтинг: 0 / 0
09.12.2006, 22:39
    #34188121
SPbP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
int i=0;
int k;
int k1;
int j;
int k2=1;
const int NN=5;
int iAr[NN];
for (i=0; i<NN; i++)
{
std::cin>>iAr ;
if(i==0) continue;
int tmp=iAr;

for (j=0; j<i;j++)
{
if(iAr[j]>tmp) break;
if(iAr[j]>tmp)
}


for (k=i; k>j; k--)
{
iAr[k]= iAr[k-1];
}
iAr[j]=tmp;
}
for (k1=0; k1<NN; k1++)
{
std::cout<<iAr[k1];
std::cout<<' ';
}

если без фильтрации ввода, то я вот так написал...
...
Рейтинг: 0 / 0
10.12.2006, 11:58
    #34188356
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
SPbPЗадача несколько видоизменилась - с помощью потока ввода инициализируется целочисленный одномерный массив, его нужно сортировать по возрастанию на каждом введенном элементе...
при этом очередное значение вводится только при условии, что его еще нет в массиве...

(хохочет)

Нет.. это п-просто замечательно! Наша задача сама по себе ВИДОИЗМЕНЯЕТСЯ. У-уф! Я уже боюсь спрашивать про размер массива (вдруг что-то снова изменится).

(вытирая слёзы)

Значить так. С использованием библиотеки STL ваша задача решается в 5-10 строчек. Вас устроит ТАКОЙ вариант решения, или вам необходимо ПРОДЕМОНСТРИРОВАТЬ работу алгоритмов сортировки?

П.С. 5 элементов - это несерьезно!
...
Рейтинг: 0 / 0
10.12.2006, 13:53
    #34188428
SPbP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
maiton ))) рад что повеселил...))) как раз нужно продемонстрировать....
...
Рейтинг: 0 / 0
10.12.2006, 14:45
    #34188457
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
Вот одна из реализаций алгоритма вставок. Вам необходимо на каждом вставляемом элементе дёргать метод insertSort.

Метод main измените в соответствие со своей постановкой.

Успехов.
...
Рейтинг: 0 / 0
10.12.2006, 18:40
    #34188652
Den_di
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Простой вопрос по сортировке
Если для совсем С++, то примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#include <set>
///
int main(){
set<int> mm;
mm.insert( 12 ); // что угодно
///
set<int> iterator it;
for(it=mm.begin();i!mm.end();i++)
 cout<<*i<<' ';
 return  0 ;
}
Ну а сортировка сама работает. Совсем тупеют люди,STL для кого писали ?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Простой вопрос по сортировке / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]