Pereiti prie turinio

įrašo nuskaitymas nepavyksta,


Rekomenduojami pranešimai

tokia sąlyga:Duomenų failo pirmoje eilutėje įrašytas kelionės pavadinimas ir turistų grupės dydis. Kitose eilutėse - turistų Vardas Pavardė, Asmens kodas, turimų banknotų Kiekis, banknotai, nurodant jų nominalą. (Pvz.: Jonas Petraitis 38808080099 10 500 20 500 100 20 20 20 10 10 50). Parašyti programą, kuri apskaičiuotų, kokias pinigų sumas į kelionę pasiėmė kiekvienas turistas, visa grupė, kiek vidutiniškai pinigų turi grupės narys bei atspausdintų turtingiausiojo pavardę. (jei tokie yra keli – visų jų pavardes). Rezultatų faile atspausdinti kelionės pavadinimą, grupės dydį. Sąrašo pabaigoje atspausdinti turtingiausiojo(-ųjų) pavardę(-es).

kaip nuskaityt kiekvieno banknotu nominalus? Jei kas galit parašykit procedūra įrašo(masyvo) nuskaitymui, daugiau programa aiški. Ačiū iš anksto. :)

Redagavo agnek21
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Hmm,mažu daryti du masyvus,vienas banknotų tipams (10Lt, 20Lt .... ) ir kitą kiek tokių banknotų yra.

Tik aš dabar nesuprantu tų skaičių,kas ten kur ką reiškia,pirmas 10 - turimų banknotų skaičius, toliau eina visi 10 banknotų,skaitai į masyvą,jei toks jau yra,kitam masyve( kur skaičiuoji kiek tokių banknotų yra - padidini vienu), jei tokio banknoto dar nėra masyve,prirašai tiesiog. Nežinau,čia kažką pabanadžiau paaiškint,bet ar kas gausis negarantuoju :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Arba visus į vieną masyvą sudėt ir

 

type irasas = record
.....
masyvas....;
kiek,
suma: integer;
end;


 for i := 1 to irasas. kiek do
   begin
      read(failas, irasas. masyvas[i]);
      irasas. suma := irasas. suma + irasas. masyvas[i];
   end;

 

Čia tik pavyzdys, nes dar ir masyvo visiem įrašams turbūt reikia. Tikiuosi, kad bent į temą parašiau.... :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

program uzduotis;
type asmuo = record
    kazkas,
       pavad, vard, pav : string[10];
       d, akod, bkiek : longint;
    end;
    masyvas = array[1..100] of asmuo;
    mas = array[1..100] of integer;
var A : masyvas;
   B : mas;
{------------------procedura failo nuskaitymui---------------------------------}
procedure skaitymas;
var fd : text;
   i, j, sk : longint;
begin
   assign(fd, 'duomenys.txt');
   reset(fd);
   read(fd, A[1].pavad);
   readln(fd, A[1].d);
   for i := 1 to A[1].d do
       read(fd,A[i].vard, A[i].pav, A[i].akod, A[i].bkiek);
           for j := 1 to A[1].bkiek do
               read(fd, B[j]);
   close(fd);
end;

dabar pabandziau taip tik s vienu turistu tai gerai o kaip padaryt jei ju daugiau?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

duomenys:

'Egle' 3 (keliones pavadinimas ir grupes dydis d)

Jonas Petraitis 38808080099 10 500 20 500 100 20 20 20 10 10 50

Petras Jonaitis 38099820014 8 20 10 50 100 500 10 50 10

Aidas Briedis 38956854245 5 10 20 50 200 100

 

bandysiu daryt su masyvu įrase,

Redagavo agnek21
Nuoroda į pranešimą
Dalintis kituose puslapiuose

program uzduotis;
type asmuo = record
    kazkas,
       pavad, vard, pav : string[10];
       akod: string[11];
       bkiek: integer;
       B: array[1..100] of integer;
    end;

    masyvas = array[1..100] of asmuo;

var A : masyvas;
   pavadinimas: string[10];   //atitdziai pasiziurek, kad butu tiek arba daugiau simboliu pries grup. dydi
   grupDYD: integer;    //visos grupes dydis
   i: integer;

{------------------procedura failo nuskaitymui---------------------------------}
procedure skaitymas(var A: masyvas; var grupDYD: integer; var pavadinimas: string[10]);   //geriau globaliuju kintamuju nenaudok, bus aiskiau.
var fd : text;
   i, j,z, sk: longint;
begin
   assign(fd, 'C:/kel.txt');
   reset(fd);
   Read(fd, pavadinimas);
   ReadLn(fd, grupDYD);          
   for i := 1 to grupDYD do
      begin
         read(fd,A[i].vard, A[i].pav, A[i].akod, A[i].bkiek);
         for z := 1 to A[i].bkiek do
              read(fd, a[i].B[z]);
         ReadLn(fd);                //pereina i nauja eilute, kuria skaitysime cikle
      end;
close(fd);
end;

 begin
   skaitymas(A, grupDYD, pavadinimas);
   for i := 1 to 3 do
     writeln(a[i].vard,a[i].pav,a[i].akod);
   readln;
 end.

 

Duomenų failas: (atidėjau visur kur reikia po 10 simbolių) taip pat asmens kodą įrašiau į string'a, nes mano žiniom į longint neturėjo tilpt :)

 

'Egle'     3 
Jonas     Petraitis 38808080099 10 500 20 500 100 20 20 20 10 10 50
Petras    Jonaitis  38099820014 8 20 10 50 100 500 10 50 10
Aidas     Briedis   38956854245 5 10 20 50 200 100

 

Jeigu dar kils klausimų, rašyk :)

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