Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:58 13.07.25 
Компютри и Интернет
   >> Програмисти
*Кратък преглед

Страници по тази тема: 1 | 2 | 3 | (покажи всички)
Тема Въпросче на начинаещнови  
Авторвeceляk (Нерегистриран)
Публикувано06.03.03 00:31



Най-малкото искам да ви досаждам с тъпи аматьорски въпросчета, ама сега ми е наложително. Просто имам малък проблем в училище с Pascal. Дадоха ни при въведени три числа да бъдат подредени по големина - хубаво (и лесно), дадоха ни и с четири и с повече, ама като ми казаха девет и на мен вече ми омръзна, защото единствения начин да го направя със досегашните си знания е да сравнявам поотделно числата докато установя как да бъдат наредени и си викам, че не може да няма по-лесен начин. Попринцип го чаткам езика и то повечко отколкото ни учат, ама за това не знам дали има друг начин та затова прибегнах до този клуб.
Ако някой може да ме светне става ли по друг начин и как точно? Благодаря предварително!



Тема Re: Въпросче на начинаещнови [re: вeceляk]  
Автор Duncan Griffin (Програмист)
Публикувано06.03.03 00:57



Ето ти едно елементарно решение:

Направи си един масив с фиксирана големина примерно 500-600. Обяви си една променлива която е броят на числата които трябва да се въведат и сортират. Първо искай от потребителя да въведе броя на числата (за да инициализираш променливата), после да въведе самите числа. Така програмата ти става универсална. След това сортираш по един от стандартните методи - мехурчето е най-лесно.

После можеш да дадеш на даскалката си да тества с 600 числа примерно.

Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.


Тема не му обясни какво е това мехурче :)))нови [re: Duncan Griffin]  
Авторzaphod (Нерегистриран)
Публикувано06.03.03 08:30



значи щом сравнява на ръка, значи за мехурче не е чувал.
и така, идеята не мехурчето е да се сравняват последователно всички съседни елементи в масива, и ако не са наредени вярно да се сменят. аз ползвам лека модификация при която се сравняват не съседни елементи, а текущия с първия ненареден. така при първия пас намираш най-малкия(големия) и той отива в началото, на втория пас намираш следващия най-голям и той отива на втора позиция и т.н.т.

for i:=1 to n-1
for j:=i+1 to n
if a>a[j] then
begin
h=a;
a=a[j];
a[j]=h;
end



Тема Re: не му обясни какво е това мехурче :)))нови [re: zaphod]  
Автор ro6avia (mnogo ro6avia)
Публикувано06.03.03 08:55



be az paskal ne znam ama niama li niakoia funkciika deto da ti narezda masiva po niakoi ot zelanite ot teb na4ini ?
az li4no ne bih polzval metoda na mehur4etata (sega) a bih izsipal 4islata v edna baza danni ako niamam array_sort i 6te si gi drapna posle order by value asc :-)

E tuk ni6to niama :



Тема Re: Въпросче на начинаещнови [re: вeceляk]  
Авторвeceляk (Нерегистриран)
Публикувано06.03.03 09:40



А може ли малко по подробно да го кажете така като за дебил като мене. Схванах основната идея, ама не съм много сигурен, че знам как точно да го направя. Също не ми стана много ясно как става това (не се смейте моля) първо да бъде въведен броя на числата и после самите числа.
Пак Ви благодаря много за бързия отговор!



Тема Re: не му обясни какво е това мехурче :)))нови [re: ro6avia]  
АвторNATO (Нерегистриран)
Публикувано06.03.03 09:52



A moje i predi tova da hacknesh amerikanskata stancija deto ja pratiha v oribita na Mars - tam sigurno sha ima njakoja baza danni, deto shta ti gi sortira

Mi to signala stiga dotam za ima-njama 20 minuti ... i obratno oshte tolkoz - za okolo 1 chas shte si sortiral 3 chisla ... :)))

bubble sort e naj-prost i e naj-efektiven za masivi do 500 elementa ...
veche pri po-golemi e razumno da se izpolzva tejkata artilerija (quick sort, heap sort i t.n.)



Тема Re: Въпросче на начинаещнови [re: вeceляk]  
АвторFrost (Нерегистриран)
Публикувано06.03.03 10:10




Search: "sorting algorithms"

След това четеш и си избираш най-подходящото решение. За начало ти препоръчвам да обърнеш внимание на простите алгоритми - bubble sort (метод на мехурчето), selection sort (метод на пряката селекция), insertion sort (метод на вмъкването).



Тема Re: не му обясни какво е това мехурче :)))нови [re: NATO]  
Автор gruhal ((l)user)
Публикувано06.03.03 10:16



bubble sort e naj-prost i e naj-efektiven za masivi do 500 elementa ...
veche pri po-golemi e razumno da se izpolzva tejkata artilerija (quick sort, heap sort i t.n.)


aha, ne biah chuwal che 500^2 e po-dobre ot 500*log(500)



Тема Re: Въпросче на начинаещнови [re: вeceляk]  
АвторEмил (Нерегистриран)
Публикувано06.03.03 10:17



Ето ти едно решение. Не е идеално,
но ще видиш идеята.

program Sort;
var
masiv:array[1..100] of integer;
Broj,i,razmeni:integer;
FlagImaLiSort:boolean;

begin
Write('Broj:');Readln(Broj);

for i:=1 to Broj do
begin
Write('Input ',i,' number ');Readln(masiv[ i ]);
end;

FlagImaLiSort:=true;
while FlagImaLiSort do
begin
FlagImaLiSort:=false;
for i:=1 to Broj-1 do
if masiv [ i ] > masiv [ i+1 ] then
begin
razmeni:=masiv[ i ];
masiv[ i ]:=masiv[ i+1 ];
masiv[ i+1 ]:=razmeni;
FlagImaLiSort:=true;
end;
end;

for i:=1 to Broj do Writeln(masiv [ i ] );

end.



Тема Re: не му обясни какво е това мехурче :)))нови [re: zaphod]  
Автор Colombino (Компетент)
Публикувано06.03.03 10:19



Първо една забележка: като постваш код го слагай в таг 'пре', щото иначе става боза. Освен това за всеки случай не ползвай i, щото тоя таг не работи добре нещо. На времето работеше.
Второ това дето си го написал не е 'мехурче', а 'пряка селекция' - най-лесният и естествен алгоритъм за сортиране. Мехурчето просто има много атрактивно име, затова е популярно.



for ii:=1 to n-1
for j:=i+1 to n
if a[ii]>a[j] then
begin
h=a[ii];
a[ii]=a[j];
a[j]=h;
end




System Doctor Error:
Your girlfriend is pregnant.
(A)bort, (M)arry, (I)gnore?_



Страници по тази тема: 1 | 2 | 3 | (покажи всички)
*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.