Felhasználói eszközök

Eszközök a webhelyen


inf-prog-fszi:futar

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

inf-prog-fszi:futar [2017/06/19 12:28] (aktuális)
beistvan létrehozva
Sor 1: Sor 1:
 +====== Futár ======
 +
 +<code pascal futar.pas>​
 +program futar;
 +type futaros=record
 +       nap: integer;
 +       ​fuvarsz:​ integer;
 +       km: integer;
 +     end;
 +var i,​j,​k,​l,​n,​kezd,​veg,​szabadnap,​maxi,​
 +    napmin,​napmax,​sum,​ut,​ar:​integer;​
 +    csere: futaros;
 +    T:​array[1..1000] of futaros;
 +    f:text;
 +function ut_ar(km:​integer):​integer;​
 +begin
 +    case km of
 +    1..2: ut_ar:=500;
 +    3..5: ut_ar:=700;
 +    6..10: ut_ar:=900;
 +    11..20: ut_ar:​=1400;​
 +    21..30: ut_ar:​=2000;​
 +    else ut_ar:= -1;
 +  end;
 +end;
 +begin
 +  Assign(f,'​tavok.txt'​);​
 +  writeln('​1. feladat'​);​
 +  reset(f);
 +  i:=0;
 +  while not eof(f) do
 +  begin
 +    inc(i);
 +    read(f,​T[i].nap);​
 +    read(f,​T[i].fuvarsz);​
 +    readln(f,​T[i].km);​
 +  end;
 +  close(f);
 +  n:=i;
 +  writeln(n,'​ sor beolvasva a "​tavok.txt"​ fajlbol.'​);​
 + { for i:=1 to n do
 +  writeln(T[i].nap,'​ ',​T[i].fuvarsz,'​ ',​T[i].km);​ }
 +  writeln('​2. feladat'​);​
 +  napmin:​=T[1].nap;​ napmax:​=T[1].nap;​
 +  for i:=2 to n do
 +  begin
 +    if T[i].nap < napmin then napmin:​=T[i].nap;​
 +    if T[i].nap > napmax then napmax:​=T[i].nap;​
 +  end;
 +  for i:=1 to n do
 +    if (T[i].nap=napmin) and (T[i].fuvarsz=1) then
 +      writeln('​Az elso nap elso fuvara ',​T[i].km,'​ km volt'​);​
 +  writeln('​3. feladat'​);​
 +  maxi:=1;
 +  for i:=1 to n do
 +    if (T[i].nap=napmax) and (T[i].fuvarsz>​T[maxi].fuvarsz) then maxi:=i;
 +  writeln('​Az utolso nap utolso fuvara ',​T[maxi].km,'​ km volt'​);​
 +  writeln('​4. feladat'​);​
 +  for szabadnap:​=napmin to napmax do
 +  begin
 +    i:​=szabadnap;​
 +    while (i<=n) and (szabadnap<>​T[i].nap) do
 +      inc(i);
 +    if i>n then writeln('​szabadnap:​ ',​szabadnap);​
 +  end;
 +  writeln('​5. feladat'​);​
 +  maxi:=1;
 +  for i:=2 to n do
 +    if T[i].fuvarsz>​T[maxi].fuvarsz then maxi:=i;
 +  writeln(T[maxi].nap,'​. napon volt a legtobb fuvar'​);​
 +  writeln('​6. feladat'​);​
 +  for i:=napmin to napmax do
 +  begin
 +    write(i,'​.nap:​ ');
 +    sum:=0;
 +    for j:=1 to n do
 +      if  T[j].nap=i then sum:​=sum+T[j].km;​
 +    writeln(sum:​2,​ ' km');
 +  end;
 +  writeln('​7. feladat'​);​
 +  writeln('​Irja be az ut hosszusagat km-ben: '); readln(ut);
 +  ar:​=ut_ar(ut);​
 +  if ar<0 then
 +    writeln('​Nem megfelelo ertek'​)
 +  else
 +    writeln('​Dijazas:​ ',​ut*ar,'​ Ft');
 +{  if (ut>=1) and (ut<=2) then ar:=500;
 +  if (ut>=3) and (ut<=5) then ar:=700;
 +  if (ut>=6) and (ut<=10) then ar:=900;
 +  if (ut>=11) and (ut<=20) then ar:=1400;
 +  if (ut>=21) and (ut<=30) then ar:=2000;
 +  if (ut<1) or (ut>30) then writeln('​Nem megfelelo ertek'​);​}
 +  writeln('​8. feladat'​);​
 +  for i:=1 to n-1 do
 +     for j:=i+1 to n do
 +       if T[j].nap<​T[i].nap then
 +       begin
 +         ​csere:​=T[i];​
 +         ​T[i]:​=T[j];​
 +         ​T[j]:​=csere;​
 +       end;
 +  writeln('​napmin = ', napmin, ' napmax = ',​napmax);​
 +  veg:=0;
 +  kezd:=1;
 +  l:=1;
 +  for k:=napmin to napmax do
 +  begin
 +    kezd:=l;
 +    while (l<=n) and (k=T[l].nap) do
 +      inc(l);
 +    veg:=l-1;
 +    if kezd <> l then
 +    begin
 +      writeln('​kezd=',​kezd:​3,'​ veg=',​veg:​3,'​ k= ',k);
 +      for i:=kezd to veg-1 do
 +        for j:=i+1 to veg do
 +          if T[j].fuvarsz<​T[i].fuvarsz then
 +          begin
 +            csere:​=T[i];​
 +            T[i]:=T[j];
 +            T[j]:​=csere;​
 +          end;
 +    end; {if}
 +  end; {for}
 +  Assign(f,'​dijazas.txt'​);​
 +  rewrite(f);
 +  for i:=1 to n do
 +    writeln(f,​T[i].nap,'​.nap ',​T[i].fuvarsz,'​.ut:​ ',​ut_ar(T[i].km),​ ' Ft');
 +  writeln(n,'​ sor kiirva a "​dijazas.txt"​ fajlba.'​);​
 +  close(f);
 +  writeln('​9. feladat'​);​
 +  sum:=0;
 +  for i:=1 to n do
 +    sum:​=sum+ut_ar(T[i].km);​
 +  writeln('​A heti kereset az ',​sum,'​ Ft');
 +  readln;
 +end.
 +</​code>​
  
inf-prog-fszi/futar.txt · Utolsó módosítás: 2017/06/19 12:28 szerkesztette: beistvan