Pereiti prie turinio

IT VBE 2008m. užduotis "Tyrimai"


Rekomenduojami pranešimai

program Tyrimai;
const CMax  = 100;                   // Maksimalus marsrutu skaicius
     CDuom = 'U1.txt';
     CRez  = 'U1rez.txt';
type
    mas = array[1..CMax] of integer;

var
    n :integer;              // Marsrutu skaicius
    Ilip,                    // Ilipusiu keleiviu sarasas
    Islip  :mas;             // Islipusiu keleiviu sarasas

// Procedura skaito duomenis is failo ir pildo ilipusiu,islipusiu keleiviu sarasus
procedure Skaityti;
var F:text;
   i,
   m,
   ilip_islip:integer;
Begin
     Assign(F,CDuom);
     Reset(F);
     ReadLn(F,n);
     // Marsrutu skaicius - n
     for i := 1 to n do
       Begin
          ReadLn(F,m,ilip_islip);
          // Formuojame Ilipusiu ir islipusiu keleiviu sarasus
          if ilip_islip > 0 then Ilip[m]  := Ilip[m] + ilip_islip
                            else Islip[m] := Islip[m] + ilip_islip;
       end;
     Close(F);
end;

// Funkcija parodo ar i-tuoju marsrutu vaziavo bent 1 keleivis
function ArVaziavo(i:integer):boolean;
Begin
     ArVaziavo := ((Ilip[i] <> 0) or (Islip[i] <> 0));
end;

function Daugiausia_Keleiviu_Marsrutas:integer;
var i:integer;
   sum:integer;
   max,max_nr:integer;
Begin
     sum := 0;  max := 0; max_nr := 0;
     for i := 1 to CMax do
      if ArVaziavo(i) then
        Begin
            sum := Ilip[i] + Islip[i];
            if sum > max then
              Begin
                  max := sum;
                  max_nr := i;     // Gaunamas marsruto,vezusio daugiausia keleiviu numeris
              end;
        end;
    Daugiausia_Keleiviu_Marsrutas := max_nr;
end;

procedure Rasyti;
var R:text;
   i:integer;
Begin
     Assign(R,CRez);
     Rewrite(R);
      for i := 1 to CMax do
        if ArVaziavo(i) then write(R,' ',i:4);
     Writeln(R);

     for i := 1 to CMax do
        if ArVaziavo(i) then write(R,' ',Ilip[i]:4);
     Writeln(R);

     for i := 1 to CMax do
        if ArVaziavo(i) then write(R,' ',Islip[i]:4);
     Writeln(R);

     writeln(R,Daugiausia_Keleiviu_Marsrutas:4);
     Close(R);
end;

begin
 Skaityti;
 Rasyti;
 Readln;end.

 

pagooglinti galima, per 2 minutes atradau :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Žinoma, jis nerašė programavimo kalbos, bet kiek matau čia paskalis :) Spėju jam c++ reikia ;)

 

Gali būt :) Na bet vistiek, nėra labai sunku perrašyt iš paskalio į c++ viską, ar pasižiūrėt algoritmą kaip spręsta užduotis, ir pačiam išspręst :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Žinoma, jis nerašė programavimo kalbos, bet kiek matau čia paskalis :) Spėju jam c++ reikia ;)

 

Būtent, pamiršau paminėti, jog man reikia kodo parašyto C++ kalba, nes sunkiai sekasi susigaudyti su paskaliu. Būtu gerai pamatyti bent jau pirmąją programos dalį, kaip yra išrikiuojami maršrutų numeriai didėjimo tvarka.

Redagavo Neformal~
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Būtent, pamiršau paminėti, jog man reikia kodo parašyto C++ kalba, nes sunkiai sekasi susigaudyti su paskaliu. Būtu gerai pamatyti bent jau pirmąją programos dalį, kaip yra išrikiuojami maršrutų numeriai didėjimo tvarka.

Ju nereikia rikiuoti, tereikia masyvo int[100], kurio indexai atitinka masruto numeri. Indexai automatiskai bus didejimo tvarka.

 

EDIT: tiksliau, marsruto_numeris = index+1, arba, kad nereiktu vargti, sukuriam int[101].

Redagavo Imago
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ju nereikia rikiuoti, tereikia masyvo int[100], kurio indexai atitinka masruto numeri. Indexai automatiskai bus didejimo tvarka.

 

EDIT: tiksliau, marsruto_numeris = index+1, arba, kad nereiktu vargti, sukuriam int[101].

 

Nelabai suprantu, galbūt galėtum parašyti kodą?

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ą...