[ 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 | 157
Bydlisko: KK/PP/BA
NapísalOffline : 17.05.2011 21:20 | pascal praca s poliami

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 | 26
Bydlisko: Žilina
NapísalOffline : 17.05.2011 21:55 | pascal praca s poliami

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 | 157
Bydlisko: KK/PP/BA
Napísal autor témyOffline : 19.05.2011 21:16 | pascal praca s poliami

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 | 9
NapísalOffline : 22.05.2011 20:40 | pascal praca s poliami

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 | 157
Bydlisko: KK/PP/BA
Napísal autor témyOffline : 24.05.2011 19:16 | pascal praca s poliami

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 | 34
Bydlisko: Brno
NapísalOffline : 24.05.2011 20:48 | pascal praca s poliami

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 | 157
Bydlisko: KK/PP/BA
Napísal autor témyOffline : 24.05.2011 21:08 | pascal praca s poliami

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 | 96
Bydlisko: Bratislava,...
NapísalOffline : 24.05.2011 22:32 | pascal praca s poliami

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 | 157
Bydlisko: KK/PP/BA
Napísal autor témyOffline : 26.05.2011 18:29 | pascal praca s poliami

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 | 9
NapísalOffline : 26.05.2011 18:33 | pascal praca s poliami

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 | 157
Bydlisko: KK/PP/BA
Napísal autor témyOffline : 26.05.2011 18:44 | pascal praca s poliami

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


 [ Príspevkov: 11 ] 


pascal praca s poliami



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

559

17.12.2011 18:36

fubu

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

1923

25.01.2017 9:44

Xaltotun

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

Free Pascal a Turbo Pascal

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

0

430

19.12.2014 13:18

Styracoz

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

Praca

v Ponuka práce

0

1618

09.06.2008 13:41

Jurdo

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

Praca zahranicie

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

20

1914

21.01.2011 7:49

vladopt

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

c++ praca

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

8

1041

11.07.2011 14:35

marian_r

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

J2ME Práca

v Ponuka práce

0

635

02.02.2012 13:32

exet

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

Práca pilota

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

15

3255

18.04.2011 7:02

Jarkou

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

Práca RAM

v Pamäte

1

369

02.12.2012 2:30

AdrianVAIO

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

Bakalarska práca

v Vzdelanie, štúdium, škola

0

361

26.10.2020 11:23

DanielH

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

praca svideom

v Video programy

3

680

04.08.2008 19:30

Mandy

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

1838

21.01.2014 19:52

ac.milan

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

praca - neplnoletost

v Ostatné

3

693

16.04.2009 17:51

tomxi

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

Pascal

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

7

666

09.10.2011 21:30

F3RY

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

pascal

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

11

1326

07.04.2007 16:50

programator

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

Pascal

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

7

874

14.05.2011 20:04

F3RY



© 2005 - 2024 PCforum, edited by JanoF