pomoc - pascal

Programovacie jazyky, rady, poradňa...
zabka090
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 17
Registrovaný: 31 aug 2008, 16:09

pomoc - pascal

Príspevok od používateľa zabka090 »

mam priklad:[b]matica retazcov.[/b]Vygenerujte maticu 10 krát 10 tvorenú prvkami reťazec dĺžky 5 znakov tvorenú len z reťazcov písmen. Ponúknite používateľovi nasledovné voľby v menu :
[b]uvedenú maticu reťazcov usporiadajte podľa pravidiel pre usporiadavanie reťazcov od najmenšieho po najväčší a to v rámci celej matice. Uvedenú usporiadnú maticu vypíšte.[/b]
maticu som uz vygenerovala a vypisala, len neviem ju usporiadat
skusila som to takto, ale vypisuje mi chybu
[color=blue]procedure usporidaj(var M3:matica);
var i,j,n:integer;
pom:string[5];
begin
for i:=1 to n-1 do
begin
for j:=i+1 to n do
begin
if M3[i]>M3[j] then
begin
pom:=M3[i];
M3[i]:=M3[j];
M3[j]:=pom;
end;
end;
end;
end;
[/color]
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Príspevok od používateľa axxis »

Kód: Vybrať všetko

procedure usporidaj(var M3:matica); 
var i,j,n:integer; 
    pom:string[5]; 
begin 
   for i:=1 to n-1 do 
   begin 
       for j:=i+1 to n do 
       begin 
       if M3[i]>M3[j] then 
        begin 
         pom:=M3[i]; 
         M3[i]:=M3[j]; 
         M3[j]:=pom; 
       end; 
       end; 
   end; 
end;
nemas to nejake zvlastne?
takto mozes usporiadat jednorozmerne pole, ale maticu nie
ak to chces robit tymto sposobom najskor preved maticu na 100 prvkove pole a potom z neho znova vyrob maticu :)
inak budes potrebovat tri cykly, v ktorych budes prechadzat prvky celej matice, takto by si spravila akurat tak jeden riadok a aj to len v priapde, ze n je 10 a k prvkom prihodis jeden chybajuci index
P.S. toto Ti nemoze fungovat z toho dovodu, ze v matici mas dvojindexovu premennu M[i,j] a Ty sa snazis vybrat prvky len s jednym indexom
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Toto som uz scasti riesil na inom fore. :) Inak tamten kod ti nefunguje aj preto, lebo premenna n nie je inicializovana. :wink: A v tomto pripade nemusis mat normalnu maticu 10x10, staci ti 100 prvkove pole, ktore budes len vypisovat po desiatich (ako to navrhol jeden user na tom konkurencnom fore). :)
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Príspevok od používateľa axxis »

neutronmind napísal:Toto som uz scasti riesil na inom fore. :) Inak tamten kod ti nefunguje aj preto, lebo premenna n nie je inicializovana. :wink: A v tomto pripade nemusis mat normalnu maticu 10x10, staci ti 100 prvkove pole, ktore budes len vypisovat po desiatich (ako to navrhol jeden user na tom konkurencnom fore). :)
za prve: o tej N nevies ci nieje globalna, ak ano a ma ju nastavenu na 10 tak nejni problem
za druhe: tak by vyrobila hned na zaciatku 100 prvkove pole tak nesplni podmienky ulohy a dostane hovno a nie body :) (prave preto som jej navrhol pri tomto sortovani previest si maticu na pole a tu nasledne spat na maticu, aspon vo vypise)
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Co by vsak zvysilo pamatovu a casovu zlozitost. :wink: Nech sa skusi spytat vyucujuceho...
A k tej premennej n, je to lokalna premenna
procedure usporidaj(var M3:matica);
var i,j,n:integer;
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Príspevok od používateľa axxis »

vsak to nemusi prerabat na nic .)
ono sa to da usporiadat aj v matici (len bude potrebovat tie 3 cykly), finalny pocet vymen ani porovnani to nezmeni
ale s tou n premennou si ma dostal :oops:
rackom
Medium Star
Medium Star
Príspevky: 307
Registrovaný: 08 aug 2005, 5:37

Príspevok od používateľa rackom »

zdravim, pisem do tejto temy ked uz existuje ... potrebujem urobit hash v TP7 a nemam na to kniznice ... nejake nezkompilovane sa daju najst na TU. Nejako mi to nejde skompilovat, mohol by sa na to niekto mrknut a ak sa mu to podari tak mi to niekde uploadnut? staci MD5 ... alebo ak mate niekto niec otake tak sa ozvite
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

A čo znamená "Nejako mi to nejde skompilovat"?

Nejakú knižnicu s MD5 pre Pascal nájdeš napr tu: ftp://garbo.uwasa.fi/pc/turbopa7/md5asm32.zip
rackom
Medium Star
Medium Star
Príspevky: 307
Registrovaný: 08 aug 2005, 5:37

Príspevok od používateľa rackom »

no ze ten unit ked chcem kompilovat potrebuje iny, ktory si tiez viem zohnat ale ten nejde skompilovat koli nejakej inej veci zas ...

a ten co posielas som nasiel neskor aj ja ale ked hashnem nieco tak mi to hodi nejake znaky divne a nie pekny hash retazec 32znakovy. neviete cim to bude?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Tá funkcia používa pole 16 bajtov. Ak chceš textový reťazec, musís si s tých čísel urobiť textový reťazec. ;) (zmeniť číslo na dve písmená snáď zvládneš)
Napísať odpoveď