Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Glupav problem :)

[es] :: Pascal / Delphi / Kylix :: Glupav problem :)

[ Pregleda: 2138 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Glupav problem :)07.09.2005. u 15:11 - pre 226 meseci
Radim neke zadatke iz pascala i evo sta treba:
iz datoteke c:\ulaz.txt sortirati datume i godine te ih ispisati na ekran..

ulaz.txt:

15.6.1989.
3.2.1222.
1.4.2003.
6.4.1909.
8.2.1111.
....................


program ucita tu datoteku, sortira ju i ispise...:
8.2.1111.
3.2.1222.
6.4.1909.
15.6.1989.
1.4.2003.


Evo moga koda (za koji mislim da je u redu) ali on izbaci rezultat kao da nista nije sortirao...orvo ispise datoteku kakva je , a onda soritanu..



Code:

program sortiranje;
uses crt;
var f:text;
    duz,n,x,y:integer;
    s:array [1..100] of string;
    m1,m2,m3:array [1..10] of string;
    z1,z2,z3:array [1..10] of string;

begin
clrscr;
assign(f,'c:\ulaz.txt');
reset(f);
duz:=0;

while not eof(f) do
begin
inc(duz);
readln(f,s[duz]);
writeln(s[duz]);

n:=pos('.',s[duz]);
m1[duz]:=copy(s[duz],1,n-1);//dani u duz-toj godini iz datoteke
delete(s[duz],1,n);

n:=pos('.',s[duz]);
m2[duz]:=copy(s[duz],1,n-1);//mjeseci u duz-toj godini iz datoteke
delete(s[duz],1,n);

n:=pos('.',s[duz]);
m3[duz]:=copy(s[duz],1,n-1);//godina u duz-toj godini iz datoteke
delete(s[duz],1,n);


end;


for y:=duz-1 downto 1 do
for x:=1 to x do
begin
if m3[x]>m3[x+1] then//soritra godine i zamjenjuje dan, mjesec,godinu sa slijedecom ukoliko je m3[x]>m3[x+1]  (godina x-ta po redu veca od godine x+1 po redu)
   begin
   z1[x]:=m1[x];
   z2[x]:=m2[x];
   z3[x]:=m3[x];

   m1[x]:=m1[x+1];
   m2[x]:=m2[x+1];
   m3[x]:=m3[x+1];

   m1[x+1]:=z1[x];
   m2[x+1]:=z2[x];
   m3[x+1]:=z3[x];
   end;


end;

writeln;
writeln;
writeln;


for x:=1 to duz do
begin
writeln(m1[x],'.',m2[x],'.',m3[x],'.');//ispisuje sortirano....
end;



readln;
end.



Volio bih kada bi na ovom mom kodu uocili "greske", a ne da radite novi kod..


Edit:ako su u datoteci recimo 10 datuma sa istom godinom, nije bitno kako ce biti sortirano..

[Ovu poruku je menjao Passwd dana 07.09.2005. u 16:14 GMT+1]
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Glupav problem :)07.09.2005. u 15:18 - pre 226 meseci


Banalan problem..problem je rijesen

Ovdje sam fulao slovo:

Code:

for y:=duz-1 downto 1 do
for x:=1 to x do
begin
......


Naravno, treba:
Code:

for y:=duz-1 downto 1 do
for x:=1 to y do
begin
......


svejedno hvala, poz
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.dlp301.bih.net.ba.



Profil

icon Re: Glupav problem :)07.09.2005. u 15:24 - pre 226 meseci
Najgore je kada je kod super ali neko usrano slovo zezneš, pa neće i neće. Nadam se da se nisi mučio pronalazeći ovu grešku.
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Glupav problem :)07.09.2005. u 17:17 - pre 226 meseci
Pa jedno 10 puta sam program pisao na druge nacine i onda mi je doxizdilo i postavio temu, i bezveze gledam kod i bas to vidim...

Vec kad je taj problem rijesen, dal ima netko ideju kako sortirati i po danima i mjesecima..??
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.panet.co.yu.



+1 Profil

icon Re: Glupav problem :)07.09.2005. u 20:39 - pre 226 meseci
Svaki datum pretvoris u format: yyyy-mm-dd pa onda sotiras kao obican string. Ako ti treba na kraju vratis u prvobitno stanje.

20.5.1998 = 1998-05-20 itd...
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Glupav problem :)

[ Pregleda: 2138 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.