Pereiti prie turinio

Programavimo uzdavinys


Rekomenduojami pranešimai

program Noname3;

const duom = 'duom.txt';

rez = 'rez.txt';

max = 30;

type pinigai = array [1..max] of integer;

turistai = record

vardas: string [15];

bkiek: integer; //banknotu kiekis

bverte:integer; // banknotu vertes

end;

mas = array [1..max] of turistai;

var D, R:text;

m:mas;

n:integer;

procedure skaito (var F:text; var A:mas; var n:integer);

var i:integer;

begin

 

 

for i:= 1 to n do

Read(F, A.vardas, A.bkiek, A.bverte);

end;

 

procedure raso (var F:text; var A:mas; var n:integer);

var i:integer;

begin

 

for i:= 1 to n do

Writeln (F, A.vardas:4, A.bkiek:4, A.bverte:4);

end;

 

 

begin

Assign (D, duom); Reset(D);

Assign (R, rez); Rewrite®;

Skaito (D, M, n);

Raso (R,M,n);

Close(D);

Close®;

end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na skaitant reikia tiesiog 2 kartus sukti ciklą.

procedure skaito (var F:text; var A:mas; var n:integer);
var i:integer;
begin


for i:= 1 to n do begin
   Read(F, A[i].vardas, A[i].bkiek);
   for j:=1 to A[i].bkiek do begin
       read(F,bverte);  // ir pvz. apsirašius dar 1 sąrašo elementą  (suma:integer;)galima iškart sumuot (manau bvertes sąraše net nereik, gali būt kaip paprastas kintamasis)
       A[i].suma:=A[i].suma + bverte;
   end;
   Readln(F);// peršokama į kitą eilutę
end;

P.S. čia iš akies rašiau nieko netestavęs :)

Redagavo MantasP
Nuoroda į pranešimą
Dalintis kituose puslapiuose
program Turistai1;

const CDuomenys = 'turU2.txt';
     CRezultatai = 'turU2rez.txt';
     Cn = 50;

type Lietuvis = record
    vardas : string[15];
    banknotuv : integer;
    suma : integer;
    end;

    Turistai = array[1..Cn] of Lietuvis;

var A : Turistai; n, b : integer; df, rf : text;

//------------------------------------------------------------------------------

procedure Duomenys;

var i, j : integer;

begin
assign(df, CDuomenys); reset(df);
readln(df, n);
for i := 1 to n do
begin
read(df, A[i].vardas, b);
A[i].suma := 0;
for j := 1 to b do
begin
read(df, A[i].banknotuv);
A[i].suma := A[i].suma + A[i].banknotuv;
end;
readln(df);
end;
close(df);
end;

//------------------------------------------------------------------------------

function GrupesPinigai : integer;

var i, sum : integer;

begin
sum := 0;
for i := 1 to n do
begin
sum := sum + A[i].suma;
end;
GrupesPinigai := sum;
end;

//------------------------------------------------------------------------------

procedure Turtingiausias (var max, nr : integer);

var i : integer;

begin
max := A[1].suma; nr := 1;
for i := 1 to n do
if max < A[i].suma then begin
max := A[i].suma;
nr := i;
end;
end;

//------------------------------------------------------------------------------

var i, max, nr : integer;

begin
 Duomenys;
 Turtingiausias(max, nr);
 assign(rf, CRezultatai); rewrite(rf);
 writeln(rf, GrupesPinigai);
 for i := 1 to n do
 writeln(rf, A[i].vardas, A[i].suma);
 write(rf, A[nr].vardas, max);
 close(rf);
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ą...