Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
pascal praca s poliami

Registrovaný: 23.12.10
Prihlásený: 10.09.22
Príspevky: 1056
Témy: 157
Bydlisko: KK/PP/BA
Príspevok NapísalOffline : 17.05.2011 21:20

cawte. Pokusam sa napisat program, ktory nacita lubovolny pocet cisel do pola a potom ich zoradi od najmensieho po najvetsie. Ja nemam ani sajnu ako ich zoradit.
Myslim ze treba najprv kazdy prvok pola prechadzat danym cislom a skontrolovat ci je vetsie (kontrolovalo by sa odzadu) ak je mensie ako cislo pred nim a vetsie ako cislo za nim, tak by vsetky vetsie cisla posunulo doprava, spravilo miesto na to cislo a ulozilo ho. Lenze ja neviem, alebo nerozumiem, ako to prepisat do pascalu. Mohol by mi niekto prosim spravit ten algoritmus? nemusi byt cely program, ale iba toto. dakujem


Offline

Užívateľ
Užívateľ
pascal praca s poliami

Registrovaný: 01.12.09
Prihlásený: 20.04.19
Príspevky: 862
Témy: 26
Bydlisko: Žilina
Príspevok NapísalOffline : 17.05.2011 21:55

Použi [url=http://sk.wikipedia.org/wiki/Bublinkové_triedenie]bubble sort[/url], to by ťa mali naučiť ak ste preberali cykly.







_________________
PC :ASUSTeK M2A-VM, AMD Phenom X3 8650 AM2 @ 2,3 Ghz, 4 GB RAM DDR2 1800 MHz, SAPPHIRE HD 6770 VAPOR-X 1GB DDR5, 400W Zdroj, 500 GB HDD, Windows Vista 64 bit
Notebook : Asus EEEPC 1201NL, intel Atom N270 512 KB L2 Cache 533 MHz FSB @ 1,6 Ghz, 1 GB DDR2 RAM, nVidia ION, 320 GB HDD, Windows XP 32 bit
Iná technika : LG P500 (806 Mhz, Android 2.3.3 Gingerbread, root, JIT), Koss Pathfinder, kedysi iPhone =(
Offline

Užívateľ
Užívateľ
pascal praca s poliami

Registrovaný: 23.12.10
Prihlásený: 10.09.22
Príspevky: 1056
Témy: 157
Bydlisko: KK/PP/BA
Príspevok Napísal autor témyOffline : 19.05.2011 21:16

vyzera to dobre, asi to je presne co som hladal vdaka. :)







_________________
HP ProBook 4530s Intel® Core™ i5-2430M (2.4GHz, 3MB, 2 jadrá)*4GB 1333MHz DDR3*ATI Mobility Radeon HD 6490 1GB + Intel HD Graphics 3000*640GB SATA 5400RPM *Windows 7 Home Premium 64 bitová verzia
Lenovo IdeaPad Z50-70 Intel Core i5 4210 Haswell* NVIDIA GeForce GT 840M 4GB + Intel HD Graphics 4000*SSHD 1TB 5400 otáčok + 8GB cache*RAM 4GB* Full HD (1920 × 1080)*Windows 10 pro

Boh je reálny, pokial nebol deklarovaný ako integer
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok NapísalOffline : 22.05.2011 20:40

popripade mozes skusit este aj ine typy sortov - insertion sort alebo selection sort. Ak to chces urobit efektivne, tak merge sort alebo quick sort. Pseudokody su na wikipedii.


Offline

Užívateľ
Užívateľ
pascal praca s poliami

Registrovaný: 23.12.10
Prihlásený: 10.09.22
Príspevky: 1056
Témy: 157
Bydlisko: KK/PP/BA
Príspevok Napísal autor témyOffline : 24.05.2011 19:16

znovu trocha pootravujem.
nastudoval som si ten bubble sort. vyskusal som si jeden priklad a fungovalo to.

teraz som chcel napisat program na sposob kena. uzivatel by zadal 10 cisel a pc by vypisalo 10 cisel vygenerovanych od 1 do 70. potom ich zoradi a vypise. Dalej bude nasledovat porovnavanie a nakoniec vypise uhadnute cisla a spravne tipy.

zdrojovy kod:
Kód:
uses crt;
var a,p: array [1..10] of integer;
    i,k,o,pocitadlo,c:integer;
begin
 clrscr;
 pocitadlo:=0;
 //-----------------------------------------------------
 writeln ('zadaj 10 cisel od 1 do 70   \pokracuj enterom');
 for i:=1 to 10 do begin
                  readln (c);
                  if (c >= 1) and (c <= 70) then a[i]:=c
                  else writeln ('zadal si zle cislo');
                  end;
 clrscr;
 writeln ('tvoje stastne cisla: ');
 for i:=1 to 10 do begin
                  write (a[i],',');
                  end;
 writeln;
 writeln;
 writeln ('vyzrebovane cisla: ');
 for i:=1 to 10 do begin
                   p[i]:=random(70)+1;
                   write (p[i],',');
                   end;
 //--------------------------------------------------------
 for i:=9 downto 1 do begin
                      for o:=1 to i do begin
                                       if a[o] > a[o+1] then begin
                                                             k:=a[o];
                                                             a[o]:=a[o+1];
                                                             a[o]:=k;
                                                             end;
                                        end;
                      end;
 for i:=9 downto 1 do begin
                      for o:=1 to i do begin
                                       if p[o] > p[o+1] then begin
                                                             k:=p[o];
                                                             p[o]:=p[o+1];
                                                             p[o]:=k;
                                                             end;
                                        end;
                       end;
 //----------------------------------------------------------------
 writeln;
 writeln;
 writeln;
 writeln ('tvoje usporiadane cisla: ');
 for i:=1 to 10 do write (a[i],',');
 writeln;
 writeln;
 writeln ('vyzrebovane a usporiadane cisla: ');
 for i:=1 to 10 do write (p[i],',');
 //-----------------------------------------------------------------
 writeln;
 writeln;
 writeln ('uhadnute cisla: ');
 for i:=9 downto 1 do begin
                      for o:=1 to i do begin
                                       if a[i] = p[i] then begin
                                                           pocitadlo:=pocitadlo+1;
                                                           write (p[i],',');
                                                           end;
                                        end;
                       end;
 //---------------------------------------------------------------------
 writeln;
 writeln;
 writeln ('pocet spravnych typov je: ',pocitadlo,' z 10');
 readln;
end.


program funguje ale, cisla nezoradi, ale vypise v tom istom poradi, a to porovnavane polia su tam tiez zle, pretoze program nevypise nic.


Offline

Čestný člen
Čestný člen
pascal praca s poliami

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 24.05.2011 20:48

Samozrejme, ze ich nezoradi, posledny riadok tej vetvy ma byt a[o+1]:=k;
Na tom porovnavani sa mi nieco nezda, zmaz ho a napis cele odznova. Lebo ten tvoj vnutorny cyklus s pocitadlom o tam mas zbytocne, a porovnavas vzdy len a[i] = p[i], ale to je zasa blbost, lebo si mozu byt rovne napriklad a[3] a p[5], ale to sa u teba neukaze. Navyse, preco ten vonkajsi cyklus zacinas pri cisle 9 a nie pri 10?


Offline

Užívateľ
Užívateľ
pascal praca s poliami

Registrovaný: 23.12.10
Prihlásený: 10.09.22
Príspevky: 1056
Témy: 157
Bydlisko: KK/PP/BA
Príspevok Napísal autor témyOffline : 24.05.2011 21:08

jasne to p/a[o+1] som si nevsimol. to bol len preklep :)
pri tom porovnavani som ta kus nepochopil... nemam ani sajnu ako to porovnat. na internete som nic nenasiel a ja som myslel ze bude prve cislo pola a[1] prechadzat cele pole p[i] a tak bude pokracovat ay na koniec.
vonkajsi cyklus zacinam pri 9 preto, lebo asi potrebujem 1 prvok pola prazdny, pri tom vymienani, lebo ked dam 10, tak nacita cisla a program vypise chybu.
vysledne mi ukaze vsetky 10 cisel. ale skusim v deklaracii pola rozsirit o 1 prvok a cyklus zacnem pri 10.


Offline

Užívateľ
Užívateľ
pascal praca s poliami

Registrovaný: 27.12.08
Prihlásený: 13.12.22
Príspevky: 1874
Témy: 96
Bydlisko: Bratislava,...
Príspevok NapísalOffline : 24.05.2011 22:32

to zoradovanie mas dobre ze to ide od 9.. ale to porovnavanie pustaj od 10 a aj vnutorny cyklus od 10.. proste kazde s kazdym.... lebo ti neporovna vsetky prvky iba najskor 9, potom 8 atd...







_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Offline

Užívateľ
Užívateľ
pascal praca s poliami

Registrovaný: 23.12.10
Prihlásený: 10.09.22
Príspevky: 1056
Témy: 157
Bydlisko: KK/PP/BA
Príspevok Napísal autor témyOffline : 26.05.2011 18:29

takze prepisal som to a aj tak to nefunguje.

riesme iba porovnavaci algoritmus.
napisal som na to zvlast program:
Kód:
uses crt;
var p,a: array [1..5] of integer;
    i,k,pocitadlo: integer;
begin
 clrscr;
 for i:=1 to 5 do begin
                  p[i]:=random(10)+1;
                  write (p[i],',');
                  end;
 writeln;
 for i:=1 to 5 do begin
                  a[i]:=random(10)+1;
                  write (a[i],',');
                  end;
 pocitadlo:=0;
 writeln;
 writeln ('rovnake cisla su: ');
 for i:=5 downto 1 do begin
                      for k:=1 to i do begin
                                       if p[i] = a[i] then begin
                                                           pocitadlo:=pocitadlo+1;
                                                           write (p[i],',');
                                                           end;
                                        end;
                       end;
 writeln;
 writeln ('pocet rovnakych cisel je: ',pocitadlo,' z 10');
 readln;
end.


vysledok mi vyhodi od veci.
pascal praca s poliami


ked, chcem tie cisla premiesat a napisem randomize, tak vysledok vyjde 0 tak ako v programe vysie.
Kód:
clrscr;
randomize;
 for i:=1 to 5 do begin ...


pascal praca s poliami

nemam ani sajnu, preco to robi... dakujem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.10.10
Prihlásený: 28.10.12
Príspevky: 41
Témy: 9
Príspevok NapísalOffline : 26.05.2011 18:33

if p[i] = a[i] - tato podmienka nema zmysel. Porovnas prve cislo s prvym, druhe s druhym...ale nie povedzme prve s tretim. Skus tam dat if p[i] = a[k] , lebo inak ti je ten vnutorny for cyklus uplne nanic.


Offline

Užívateľ
Užívateľ
pascal praca s poliami

Registrovaný: 23.12.10
Prihlásený: 10.09.22
Príspevky: 1056
Témy: 157
Bydlisko: KK/PP/BA
Príspevok Napísal autor témyOffline : 26.05.2011 18:44

dakujem zaefrim :) takze tam bol cely zadrhel... este by trebalo nieco spravit s tym premiesanim.


Odpovedať na tému [ Príspevkov: 11 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Pascal - práca so súborom

v Assembler, C, C++, Pascal, Java

2

530

17.12.2011 18:36

fubu Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PC zostava 2000€ práca s videom, programovanie, práca v photoshope atď...

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PC zostavy

37

1806

25.01.2017 9:44

Xaltotun Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Free Pascal a Turbo Pascal

v Assembler, C, C++, Pascal, Java

0

385

19.12.2014 13:18

Styracoz Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Praca

v Ponuka práce

0

1562

09.06.2008 13:41

Jurdo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. c++ praca

v Assembler, C, C++, Pascal, Java

8

995

11.07.2011 14:35

marian_r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. J2ME Práca

v Ponuka práce

0

588

02.02.2012 13:32

exet Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Práca pilota

v Ekonomika, práca, biznis, podnikanie a peniaze

15

3179

18.04.2011 7:02

Jarkou Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Práca RAM

v Pamäte

1

329

02.12.2012 2:30

AdrianVAIO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. praca svideom

v Video programy

3

642

04.08.2008 19:30

Mandy Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. Programator praca

v Assembler, C, C++, Pascal, Java

16

1781

21.01.2014 19:52

ac.milan Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Bakalarska práca

v Vzdelanie, štúdium, škola

0

310

26.10.2020 11:23

DanielH Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. praca - neplnoletost

v Ostatné

3

651

16.04.2009 17:51

tomxi Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Praca zahranicie

v Ekonomika, práca, biznis, podnikanie a peniaze

20

1839

21.01.2011 7:49

vladopt Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

40

1474

11.12.2016 22:08

viki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pascal

v Assembler, C, C++, Pascal, Java

4

2075

01.03.2018 8:02

MTK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pascal

v Assembler, C, C++, Pascal, Java

11

1289

07.04.2007 16:50

programator Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra