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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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