Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 03.02.09 Prihlásený: 22.06.09 Príspevky: 8 Témy: 2 | 2 |
jedna sa o kniznicu...cosi som tam uz zbuchal sam ale potrebujem aby mi vypis zoradilo podla nejakeho zvoleneho parametra- napr nazov a pod. , a este aby sa dalo vyhladavat v celej "kniznici", pomozete mi aj upravou algoritmu, dakujem, tu je kod:
Kód: program kniznica; uses crt; type kniha=record nazov,autor,vydavatelstvo:string; rokvyd,pocets:word; end;
var kniznica:array[0..10] of kniha; pocet:byte; a:char;
{OK} procedure nacitaj(var a:byte); var i:byte; begin clrscr; textcolor(11); write('kolko chces vlozit knih:'); readln(a); for i:=1 to a do with kniznica[i] do begin write('nazov ',i,': ');readln(nazov); write('autor ',i,': ');readln(autor); write('vydavatelstvo ',i,': ');readln(vydavatelstvo); write('rok vydania ',i,': ');readln(rokvyd); write('pocet stran ',i,': ');readln(pocets); end;clrscr; write('data nacitane !(stlac lubovolny klaves)!');readkey; end; {OK} {OK ale nezoraduje}
procedure vypis(a:byte); var i:byte; begin clrscr; writeln('vypis zoradeny podla roku vydania knihy'); for i:=1 to a do with kniznica[i] do begin writeln('KNIHA cislo ',i); writeln; writeln('nazov: ',nazov); writeln('autor: ',autor); writeln('vydavatelstvo: ',vydavatelstvo); writeln('rok vydania: ',rokvyd); writeln('pocet stran: ',pocets); writeln; end; write('vypis ukonceny !(stlac lubovolny klaves)!');readkey; end;
{OK ale nezoraduje}
{zle} procedure hladaj(a:char); var retazec:string; i:integer; begin clrscr; while(ord(a)<>27)do begin writeln('zadavajte postupne retazec na vyhladanie v nazve knihy'); textcolor(12); writeln('Esc - ukoncit'); a:=readkey; repeat begin readln(retazec); clrscr; for i:=1 to 10 do begin with kniznica[i] do if (nazov)=(retazec) then vypis(i) else writeln('hladany retazec sa v databaze nenachadza'); end;
end; until (ord(a)<>27); end; end;
{zle}
BEGIN while(ord(a)<>27)do begin clrscr; textcolor(10); writeln('::::::::::::::::::KNIZNICA v1.02::::::::::::::::::'); textcolor(11); writeln('1 - zapisat knihy'); writeln('2 - vypis udajov'); writeln('3 - vyhladavanie v nazve knih'); textcolor(12); writeln('Esc - ukoncit'); a:=readkey; case a of '1':begin nacitaj(pocet); end; '2':begin vypis(pocet); end; '3':begin hladaj(a); end; end; end; END.
Dakujem velmi pekne za pomoc...uz som zufaly
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Pre efektivne vyhladavanie mozes pouzit binarne vyhladavanie - http://sk.wikipedia.org/wiki/Binárne_vyhľadávanie
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 03.02.09 Prihlásený: 22.06.09 Príspevky: 8 Témy: 2 | 2 |
hm....tak to mi asi moc nepomoze .....neskusil by si mi trosku pomoct s nakodenim?
|
|
Registrovaný: 30.04.08 Prihlásený: 15.05.15 Príspevky: 884 Témy: 3 | 3 |
Pockaj, ak sa spravne pozeram, ty tie knihy nemas usporiadane... Takze bud to usporiadas a vyhladas binarne (ak budem mat cas tak ti poslem aj ukazku kodu v Pascale), alebo to nebudes usporaduvat a vyhladavat budes linearne(postupne kazdy prvok porovnas s hladanym, az pokym ho nenajdes). (ale ako hovorim, momentalne nemam moc casu, takze ti s tym mozem pomoct neskor, alebo tak urobi niekto iny z fora...)
_________________ Empty your memory, with a free()… like a pointer! If you cast a pointer to an integer, it becomes the integer, if you cast a pointer to a struct, it becomes the struct… The pointer can crash…, and can overflow… Be a pointer my friend… |
|
Registrovaný: 03.02.09 Prihlásený: 22.06.09 Príspevky: 8 Témy: 2 | 2 |
Pomoc prosim ....Potrebujem aby bol vypis usporiadany (ked stlacim dvojku) a aby sa dalo vyhladavat podla nejakeho parametra(stlacim 3). Bol by som velmi povdacny ak by mi s tym niekto pomohol. Potrebujem to na zajtra.
|
|
Registrovaný: 03.02.09 Prihlásený: 22.06.09 Príspevky: 8 Témy: 2 | 2 |
Takze, problem sme ciastocne vyriesili s uzivatelom neutronmind: vyhladavanie sme vyriesili jednoduchym porovnavanim retazca s nazvom knihy. Co sa tyka triedenia, pouzili sme bubblesort - pricom sa porovnavaju nazvy a triedia sa tak podla velkosti od najmensich po najvacsie. Mam ale problem s tym ze sa netriedia podla abecedy ale skor podla "velkosti" retazca. Chcel by som ale doplnit este triedenie podla viacerych kategorii nielen nazvu.....
|
|
Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 5 | 832 | 24.11.2007 11:10 scarletjohanson | | v Assembler, C, C++, Pascal, Java | 2 | 829 | 12.06.2007 12:46 mamrd | | v Assembler, C, C++, Pascal, Java | 5 | 660 | 31.10.2007 21:58 Roberbo | | v Assembler, C, C++, Pascal, Java | 4 | 241 | 23.04.2013 11:57 fisherko | | v Assembler, C, C++, Pascal, Java | 5 | 1052 | 17.04.2007 16:45 stewe | | v Assembler, C, C++, Pascal, Java | 3 | 437 | 09.01.2010 19:01 ac.milan | | v Assembler, C, C++, Pascal, Java | 6 | 699 | 31.10.2007 15:07 imcold | | v Assembler, C, C++, Pascal, Java | 2 | 739 | 18.04.2007 9:56 gorky22 | | v Assembler, C, C++, Pascal, Java | 10 | 644 | 06.04.2010 18:15 Logik | | v Assembler, C, C++, Pascal, Java | 10 | 854 | 18.03.2007 13:22 audiotrack | | v Assembler, C, C++, Pascal, Java | 12 | 1284 | 03.06.2007 22:35 juho | | v Assembler, C, C++, Pascal, Java | 3 | 698 | 27.03.2007 22:37 audiotrack | | v PHP, ASP | 6 | 508 | 01.09.2007 21:34 juho | | v PHP, ASP | 4 | 406 | 02.02.2008 9:18 Pablo Montero | | v Redakčné systémy | 14 | 694 | 01.03.2007 11:08 w3q | | v Databázy | 7 | 634 | 21.08.2009 14:18 rooobertek |
|