Pereiti prie turinio

Pascal duomenų perskaitymas


Rekomenduojami pranešimai

Sveiki, gal kas gali padėti perskaityti duomenis iš:

 

3
Varššuva-Praha    	3
Train110    	8 38
Train110    	8 14
Train407    	11 5
Praha-Viena      	5
Train60477  	6 50
Train73 		6 04
Train75 		6 18
Train77 		4 43
Train173    	4 43
Viena-Budapeštas 	8
Train463    	2 45
Railjet41   	2 38
Train10467  	2 23
Railjet49   	2 28
Train2821   	2 38
Train935    	2 23
Railjet61   	2 38
Railjet63   	2 23

 

Bandau šitaip, bet nesigauna:

program Bevardë17;
type traukiniai = record
  	etapas : string[20];
  	traukinys : string[15];
  	val : integer;
  	min : integer;
  	k : integer;
	end;
	mas = array[1..100] of traukiniai;
{---------------------------------------}
procedure skaitymas(var n : integer; var a : mas);
var duom : text;
	i : integer;
begin
assign(duom, '461Duomenys.txt');
reset(duom);
ReadLn(duom, n);
for i:=1 to n do
 begin
  ReadLn(duom, a[i].etapas, a[i].k);
  WriteLn(a[i].etapas, a[i].k);
  for i:=1 to a[i].k do
begin
	ReadLn(duom, a[i].traukinys, a[i].val, a[i].min);
	WriteLn(a[i].traukinys, a[i].val, a[i].min);
end;
 end;
end;

 

Gaunu štai tokį išspausdinimą:

http://ikelk.lt/i/140482/o_be0399eb3b.JPG

Redagavo unrixas1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Bet vistiek negerai, dabar taip pamasčiau, nes tame vidiniame cikle val ir min ant viršaus užrašo, kai kiekvieną kartą iš naujo prasideda didysis ciklas.

 

Pvz:

http://ikelk.lt/i/140489/o_5c3f723323.JPG

Redagavo unrixas1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Bet vistiek negerai, dabar taip pamasčiau, nes tame vidiniame cikle val ir min ant viršaus užrašo, kai kiekvieną kartą iš naujo prasideda didysis ciklas.

 

Pvz:

http://ikelk.lt/i/140489/o_5c3f723323.JPG

 

 

As naudociau masyvus paciam irase, o kiekviena etapa atskira masyvo irasa. Arba daryti, kad visi traukiniai yra vienam iraso masyve, bet to masyvo traukinio numeris turi prasideti nuo praeito etapo, pavyzdziui jei pirmas etapas turi 3 traukinius, tai kita etapo pirma traukini rasyti jau 4, tai reiskias antro etapo paskutinis traukinys isirasytu 3+n. Tikiuos kazka supratai :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

As naudociau masyvus paciam irase, o kiekviena etapa atskira masyvo irasa. Arba daryti, kad visi traukiniai yra vienam iraso masyve, bet to masyvo traukinio numeris turi prasideti nuo praeito etapo, pavyzdziui jei pirmas etapas turi 3 traukinius, tai kita etapo pirma traukini rasyti jau 4, tai reiskias antro etapo paskutinis traukinys isirasytu 3+n. Tikiuos kazka supratai :D

Ačiū už atsakymą,bet kažkaip sunkiai man čia gaunasi, gal galėtum programiškai šiek tiek aprašyt tą procedūrą, kad bent mintį pagaučiau?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ačiū už atsakymą,bet kažkaip sunkiai man čia gaunasi, gal galėtum programiškai šiek tiek aprašyt tą procedūrą, kad bent mintį pagaučiau?

 

Turiu labai panašia/

4 
Gailuva 3 
Dubysos universitetas 45 
Petro universitetas 55 
Baltijos kolegija 9 
Bambukija 1 
Bambuko muzikos akademija 35 
Guglija 2 
Medienos apdorojimo kolegija 14 
Turizmo kolegija 13 
Baltieji lokiai 4 
Baltasis universitetas 10 
Pilkasis universitetas 15 
Rudoji kolegija 8 
Spalvos kolegija 99

 

Type universitetas=record
           vardas:string[15];
           pav:array[1..100] of string[30];
           reit:array [1..100] of integer;
           sum:integer;
           end;
   geriausi=record
           vardas:string[15];
           pav:string[30];
           reit:integer;
           end;
   mas=array[1..100] of universitetas;
   ger=array[1..100] of geriausi;
//Skaitymo procedure------------------------------------------------------------
Procedure skaitymas(var a:mas; var n:integer);
var i,j:integer; fd:text;
   begin
       assign(Fd, 'duom.txt'); reset(fd);
       Readln(fd, n);
           For i:=1 to n do
               begin
                   Readln(fd, a[i].vardas, a[i].sum);
                       for j:=1 to a[i].sum do readln(fd, a[i].pav[j], a[i].reit[j]);
               end;
       Close(Fd);
   end;
//geriausiu universitetu atrinkimas
Procedure atrinkimas(var b:ger; a:mas; n:integer);
var i,j,x,max:integer;
   begin
       For i:=1 to n do
           begin
               max:=0;
                   For j:=1 to a[i].sum do
                       begin
                           If a[i].reit[j]>max then
                               begin
                                   max:=a[i].reit[j];
                                   x:=j;
                               end;
                       end;
               b[i].vardas :=a[i].vardas;
               b[i].pav :=a[i].pav[x];
               b[i].reit :=a[i].reit[x];
           end;
   end;
//Rusiavimo ir isvedimo procedura
Procedure rusiavimas(b:ger; n:integer);
var i,j:integer; fr:text; x:geriausi;
   begin
       assign(fr, 'rezu.txt'); rewrite(fr);
           For i:=1 to n do
               begin
                   For j:=i to n do
                       begin
                           if b[i].reit<b[j].reit then
                               begin
                                   x:=b[i];
                                   b[i] :=b[j];
                                   b[j] :=x;
                               end;
                       end;
               end;
           For i:=1 to n do Writeln(fr, b[i].vardas, b[i].pav, b[i].reit);
       close(fr);
   end;
Var b:ger; n:integer; a:mas;

begin
 skaitymas(a,n);
 atrinkimas(b,a,n);
 Rusiavimas(b,n);
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...