Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki, prireikė Jūsų pagalbos. Kažkodėl neįvykdoma šį procedūrą, jei kas galite pažiūrėkite kas blogai.

//-------------------------------------------------------------------------------------------------------------

//Procedura nuskaitanti duomenys is tekstinio failo

procedure duomenys (var vard : mas2; // masyvas i kuri irasomas vardas (string)

var men, dien : mas1; // masyvai i kuriuos irasoma menesiai ir dienos

var n : integer); // suskaiciuoja kiek yra zmoniu

var f : text;

begin

n := 0;

assign(f, 'duom.txt'); Reset(f);

while not eof do

begin

n := n + 1;

ReadLn(f, vard[n], men[n], dien[n]);

end;

Close(f);

end;

//---------------------------------------------------------------------------------------------------------------

 

O čia duomenų failas: (vardas, menuo, diena)

 

Benas 12 1

Gintaras 1 2

Gintare 4 21

Viktorija 5 21

Darius 5 19

Lina 2 14

Redagavo audrius159
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, vėl iškilo problema. Nenoriu kurti naujos temos, todėl rašau čia.

 

Užduotis buvo tokia: duotame skaičių masyve sukeiskite vietomis didžiausią ir mažiausią elementą.

 

Mano paties kodas:

------------------------------------------------------------------------------------------------------------

 

program Bevarde11;

type mas = array [1..20] of integer;

//--------------------------------------------------------

//Nuskaitomi duomenys iš failo

procedure DuomSkaitymas (var n : integer; var a : mas);

var f : text;

begin

n := 0;

Assign(f, 'duom.txt'); Reset(f);

while not eoln(f) do

begin

n := n + 1;

Read(f, a[n]);

end;

Close(f);

end;

//-----------------------------------------------------------

// Funkcija, kurioje surandama indeksas ,kurio masyvas turi mažiausią reikšmę.

function maziausias (n : integer; a : mas) : integer;

var i, nr : integer;

begin

nr := 1;

for i := 2 to n do

if a[nr] > a

then nr := i;

maziausias := nr;

end;

//-------------------------------------------------------------

// Funkcija, kurioje surandama indeksas ,kurio masyvas turi didžiausią reikšmę.

Function didziausias (n : integer; a : mas) : integer;

var i, nr : integer;

begin

nr := 1;

for i := 2 to n do

if a[nr] < a

then nr := i;

didziausias := nr;

end;

//-------------------------------------------------------------

// procedūra ,kuri turėtų sukeisti mažiausią ir didžiausią masyvo elementus vietomis

procedure Sukeitimas(n : integer; var a : mas);

var laik : integer;

begin

laik := a[maziausias(n, a)];

a[maziausias(n, a)] := a[didziausias(n, a)];

a[didziausias(n, a)] := laik;

end;

//------------------------------------------------------------

// Procedūra išvedanti rezultatus

procedure rodyti (n : integer; a : mas);

var i : integer;

begin

for i := 1 to n do

write(a:3);

end;

//-----------------------------------------------------------

var a : mas;

n : integer;

begin

DuomSkaitymas(n, a);

Write('Pradiniai duomenys: ');

Rodyti(n, a);

WriteLn;

Sukeitimas(n, a);

write('Duomenys po sukeitimo: ');

Rodyti(n, a);

Readln;

end.

 

------------------------------------------------------------------------------------------------------------

 

Procedūra DuomSkaitymas ir funkcijos maziausias ir didziausias veikia gerai(tikrinau).

Atkreipkite dėmesį į procedūrą Sukeitimas.

Redagavo audrius159
Nuoroda į pranešimą
Dalintis kituose puslapiuose

procedure Sukeitimas(n : integer; var a : mas);
var laik, i1, i2 : integer;
begin
i1 := maziausias(n, a);
i2 := didziausias(n, a);

laik := a[i1];
a[i1] := a[i2];
a[i2] := laik;
end;

 

tiesiog nurodydamas masyvo indeksą, negali jo sužinoti kviesdamas funkciją (kitose kalbose manau, tai turėtų būti leidžiama), indeksus apsiskaičiuoji, tada nurodai kaip kintamuosius ir viskas veikia ;)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

procedure Sukeitimas(n : integer; var a : mas);
var laik, i1, i2 : integer;
begin
i1 := maziausias(n, a);
i2 := didziausias(n, a);

laik := a[i1];
a[i1] := a[i2];
a[i2] := laik;
end;

 

tiesiog nurodydamas masyvo indeksą, negali jo sužinoti kviesdamas funkciją (kitose kalbose manau, tai turėtų būti leidžiama), indeksus apsiskaičiuoji, tada nurodai kaip kintamuosius ir viskas veikia ;)

 

Dėkoju, Driule.

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