Obsah fóra www.hojko.com
Cvaknito.sk
Hľadať  •  FAQ  •  IP  •  Zoznam užívateľov  •  Karma  •  Závisláci  •  Registrácia
 Prihlásiť sa pre kontrolu súkromných správ  •  Prihlásenie






pascal triedenie HELP !
Odoslať novú tému   Odpovedať na tému    Obsah fóra www.hojko.com -> Programovanie  
 Moje príspevky :: Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
Ikpi
Novice
Novice



Stav: Odhlásený
Založený: 14.08.2006
Príspevky: 7

Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 05 Máj 2008, 14:04    Predmet: pascal triedenie HELP ! Odpovedať s citátom  

Ahoj, mam maly problem z jednym programom, potrebujem ho na zajtra do skoly..ale nefunguje mi procedura na triedenie priamym vkladanim..nepozrie sa na to niekto? Stale mi vypisuje chyby..skusal som tam pomenit parametre, ale stale nieco ine vybehlo.. Embarassed Vdaka vopred Wink

Citácia:
program ST_extraliga;
uses crt;
const maxp=10;
type team=record
muzstvo:string[20];
vyhry:integer;
prehry:integer;
remizy:integer;
body:integer;
end;


pole=array[1..maxp] of team;

var a:pole;
i,p:integer;
znak:char;
pocet:byte;
m,p1:string;
b:integer;

procedure pridaj(var a:pole;i:integer;var p:integer);
begin
clrscr;
i:=p;
if (p<maxp) then
inc(i);inc(p);
writeln('Zadajte nazov teamu, ktory chcete pridat');
writeln;
readln(a[i].muzstvo);
writeln;
writeln('pocet vyhier');
readln(a[i].vyhry);
writeln('pocet prehier');
readln(a[i].prehry);
writeln('pocet remiz');
readln(a[i].remizy);
end;

procedure zrus (var a:pole;i,p:integer);
var co:integer;
j:integer;
naozaj:char;
begin
clrscr;
writeln;
writeln ('Zoznam teamov :');
writeln;
for i:=1 to p do
writeln(i:1,'. ',a[i].muzstvo:7);
writeln;
writeln ('Zadaj cislo teamu ktory chces zrusit');
readln (co);
writeln;
writeln;
writeln ('Nazov: ',a[co].muzstvo);
write ('Naozaj chcete zrusit zvoleny team?[a/n] ');
readln (naozaj);
if naozaj='a' then begin
for i:=co to j-1 do begin
a[co]:=a[co+1];
j:=j-1;
end;
end;
end;

procedure zobraz (a:pole;i,p:integer);
var j:integer;
begin
clrscr;
writeln('Zoznam registrovanych teamov:');
writeln;
writeln ('Team':10,'V':3,'P':3,'R':3);
for i:=1 to p do
writeln(i:1,'. ',a[i].muzstvo:7, a[i].vyhry:3, a[i].prehry:3,a[i].remizy:3);
repeat until keypressed;
end;


procedure tried (a:pole;i,p:integer);
var j,k:pole;
x:integer;
zn:char;
Begin
clrscr;
writeln ('Zoznam teamov :');
writeln;
for i:=1 to p do
writeln(i:1,'. ',a[i].muzstvo:7,a[i].vyhry:3, a[i].prehry:3,a[i].remizy:3);
writeln;
writeln ('Zadajte kluc podla coho sa maju muzstva zotriedit');
writeln;
writeln ('Pocet vyhier - v');
writeln ('Podla poctu prehier - p');
readln (zn);
{ case zn of
'v': begin
For i:=2 to p do
begin
x:=a[i].vyhry;
j:=i-1;
while x < a[j] do
begin
A[j+1]:=A[j];
j:=j-1; If j = 0 then Break;
end;
A[j+1]:=x;
end;
end;
'p': begin
For i:=2 to p do
begin
x:=a[i].prehry;
j:=i-1;
while x < a[j] do
begin
A[j+1]:=A[j];
j:=j-1; If j = 0 then Break;
end;
A[j+1]:=x;
end;
end;}

end;

begin
clrscr;i:=0;p:=0;
textcolor(2);
while (znak<>'e') do
begin
clrscr;
writeln('Zvolte jednu z nasledujucich moznosti');
writeln('p - pridat muzstvo do registru');
writeln('z - zobrazit listinu teamov');
writeln('o - odstranit muzstvo z registru');
writeln('t - utriedit muzstva');
writeln('e - exit');
writeln;
readln(znak);
case znak of
'p':pridaj(a,i,p);
'z':zobraz(a,i,p);
'o':zrus(a,i,p);
't':tried(a,i,p);
'e':halt(0)
else writeln('Zadali ste chybnu klavesu');
end;
end;
repeat until keypressed;
end.
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
juho
Light Star
Light Star



Stav: Odhlásený
Založený: 11.05.2007
Príspevky: 227

Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 05 Máj 2008, 14:22    Predmet: Odpovedať s citátom  

Kód:
x:=a[i].vyhry; {x je a[i].vyhry}
j:=i-1;
while x < a[j] do {x je stale a[i].vyhry   ale  a[j] je cely zaznam a nie a[j].vyhry}
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
Ikpi
Novice
Novice



Stav: Odhlásený
Založený: 14.08.2006
Príspevky: 7

Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 05 Máj 2008, 14:34    Predmet: Odpovedať s citátom  

juho napísal:
Kód:
x:=a[i].vyhry; {x je a[i].vyhry}
j:=i-1;
while x < a[j] do {x je stale a[i].vyhry   ale  a[j] je cely zaznam a nie a[j].vyhry}
hmm..vdaka..) a nevedel by si mi napisat cely kod na to triedenie? staci na tie vyhry, ak by si mal cas..robim to vo free pascale..a ked mam to "a" ako pole - neberie mi znamienka (-,<), alebo ked tam dam inu premenu tak to chce to pole, alebo nieco ine Confused (operator is not overloaded)..ja fakt newiem ako dalej
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
juho
Light Star
Light Star



Stav: Odhlásený
Založený: 11.05.2007
Príspevky: 227

Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 05 Máj 2008, 16:59    Predmet: Odpovedať s citátom  

coze? nejak ta nechapem.
radsej citaj to co pisem
Kód:

For i:=2 to p do
begin
x:=a[i].vyhry;
j:=i-1;
while x < a[j].vyhry do {x porovnavas s a[j].vyhry a nie s a[j]}
begin
A[j+1]:=A[j];
j:=j-1; If j = 0 then Break;
end;
A[j+1]:=x;
end;
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
Ikpi
Novice
Novice



Stav: Odhlásený
Založený: 14.08.2006
Príspevky: 7

Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 05 Máj 2008, 18:10    Predmet: aaa Odpovedať s citátom  

nj...ja chapem co pises..ale aj tak mi to neberie.."compilation abort";"incompatible types - got "longInt" expected "pole" a kurzor blika na "-" co je j:=i-1 ,..ale aj tak ti vdaka Smile A tebe to tak ide? ked tak mi skus upnut .pas...budem ti velmi velmi vdacny Embarassed
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
juho
Light Star
Light Star



Stav: Odhlásený
Založený: 11.05.2007
Príspevky: 227

Karma:  Odobrať Kladná karma Pridať

PríspevokZaslal: 06 Máj 2008, 21:45    Predmet: Odpovedať s citátom  

ale to ty si tam mal to j:=i-1; ja ze to je k tomu radeniu ale ty si ho deklaroval ako pole. tak to nemozes hentak pouzivat. to si radsej prerob nanovo takto to je velmi zlozite a objemne.
Návrat hore
Zobraziť informácie o autorovi Odoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    Časy uvádzané v GMT + 1 hodina
Odoslať novú tému   Odpovedať na tému    Obsah fóra www.hojko.com -> Programovanie
Strana 1 z 1

 
Prejdi na:  
Nemôžete odosielať nové témy do tohto fóra
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
Nemôžete hlasovať v tomto fóre
Nemôžete pripájať súbory do tohto fóra
Môžete sťahovať súbory v tomto fóre


Powered by phpBB © 2005 phpBB Group, phpBB SEO, © Hojko 2004-2008

[ Vygenerované za: 0.1s ] :: [ 16 Queries ] :: [ 74,624 stránok za dnes ] :: [ Dnes DB: 1,334,104 ] :: [ Max DB: 2,334,336 Queries ]