Pereiti prie turinio

Pagalbos su pascalio užduotim


Rekomenduojami pranešimai

Užduotį prisegu nuotraukoje. Tai va bėda tame, kad rezultato faile įrašomi atsakymai su klaidingais masyvo numeriais. Mano atsakymo faile sugeneruojamo tokie atsakymai:

uzsakymas4 100

 

uzsakymas1 30

uzsakymas2 50

uzsakymas3 65

uzsakymas4 70

uzsakymas5 100

o turėtų būti tokie kaip parodyta nuotraukoje.

program masyvas1;
type uzsakymas = record
uzs:string[12];
u1,u2,u3,sum:integer;
end;
mas = array[1..100] of uzsakymas;
var n,i,did : integer;
  m : mas;
  Rf,Df: text;
procedure skaityti;
var i:integer;
begin
Assign(Df, 'duom.txt');
Reset(Df);
Readln(Df, n);
begin
for i:=1 to n do
Readln(Df, m[i].uzs,m[i].u1,m[i].u2,m[i].u3);
Close(Df);
end;

for i:=1 to n do
 m[i].sum:=m[i].u1+m[i].u2+m[i].u3;
end;
procedure max (var didz:integer);
var i:integer;
begin
didz:=m[1].sum;
for i:=2 to n do
 begin
  if didz<m[i].sum
   then begin
    didz:=m[i].sum;
        end;
 end;
end;
procedure rikiuoti;
var i,j,d,c:integer;

begin
for i:=1 to n-1 do
 begin
  d:=i;
   for j:=i+1 to n do
    if m[j].sum<m[d].sum
     then d:=j;
   c:=m[i].sum; m[i].sum:=m[d].sum; m[d].sum:=c
 end
end;
procedure rasyti;
var i:integer;
   Rf:text;
begin
Assign(Rf, 'rez.txt');
Rewrite(Rf);
Write(Rf, m[i].uzs,' ' ,did);
WriteLn(Rf);
WriteLn(Rf);
for i:=1 to n do
 Writeln(Rf, m[i].uzs,' ',m[i].sum);
Close(Rf)
end;
begin
skaityti;
max(did);
rikiuoti;
rasyti;
end.

post-6314-0-97883700-1329930096_thumb.jpg

Redagavo sliekas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nuotrauka su 5 kartos nokia xpressmusic daryta? ;-D

 

Beje klaida yra rikiavime. Tu apkeiti tik sum, vietoj to, kad pilnai apkeistum visus record irasus. Manau neblogai gaudais, gal pavyks pataisyt. Jei ne, tai sakyk, gal ir as tada isirasysiu FPS.

 

 

Dadedu: kad paprasčiau būtų skaityt iš failų, nekurk kintamųjų kaip Rf,Rd, geriau rašyk

 

assign(input,'duom.txt');// input nereikia prirasyti prie jokiu kintamuju

reset(input);

readln(n);//automatiskai bus skaitoma is nurodyto failo, o ne is consoles ivedimu

close(input);//uzdaryt vis tiek reiks

 

//taspats ir su writeln

assign(output,'rez.txt');

rewrite(output);

writeln('atsakymas koks nors');//bus sitas tekstas irasytas i rez.txt faila

close(output);

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