Pereiti prie turinio

Rekomenduojami pranešimai

Turiu užduotį :

 

Kiekvienoje failo eiluteje uzrasyti sekantys duomenys: studento

vardas, pavarde ir egzaminu pazymiai. Pvz:

 

Vardenis1 Pavardenis1 10 5 8 9 9 7 5

Vardenis2 Pavardenis2 10 5 9 7 5 8 7

Vardenis3 Pavardenis3 9 8 7 6 5 9 10

ir t.t.

 

Uzduotis: Suskaiciuoti studentu egzaminu vidurki; atrasti studenta,

kurio pazymiu vidurkis yra auksciausias; atrasti studenta, kurio pazymiu vidurkis yra

zemiausas. Isrusiuoti studentus pagal pazymiu vidurki. Viska

atspausdinti ekrane ir rezultata uzrasyti i rezultatu faila rez.txt.

 

 

Jei galit padėkit. Jei galit, tai galėtumėt ir visą programą, tačiau jei negalit, tai reiktų maždaug iš tokių duomenų

 

 

Vardenis1 Pavardenis1 10 5 8 9 9 7 5

Vardenis2 Pavardenis2 10 5 9 7 5 8 7

Vardenis3 Pavardenis3 9 8 7 6 5 9 10

 

kad padėtumėt sudaryti struktūrą. Nes kažkaip nesiseka su tuo duomenų nuskaitymu į struktūras...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Turėtų sąlygoje būti parašyta kiek simbolių skiriama vardui ir pavardei. Tai bus konstantos vardui ir pavardei.

 

program uzdarbis;
const vardui   = 10;
   pavardei = 11;
type studentas = record
				vardas : string[vardui];
				pavarde : string[pavardei];
				vidurkis : real;
				pazymiu  : integer;
				pazymiai : array[1..100] of integer;
			  end;
  studentai = array[0..100] of studentas;

  procedure vidurkiai(var arg : studentai);
 var i, j, suma : integer;
  begin
 for i := 1 to arg[0].pazymiu do
   begin
	 suma := 0;
	 for j := 1 to arg[i].pazymiu do
	   suma += arg[i].pazymiai[j];
	 arg[i].vidurkis := suma/arg[i].pazymiu;
   end;

  end;

  procedure sort (var arg : studentai);
 var i : integer;
	 temp : studentas;
	 fail : boolean;
  begin
 repeat
   fail := true;
   for i := 1 to arg[0].pazymiu-1 do
	 if arg[i].vidurkis < arg[i+1].vidurkis
	   then
		 begin
		   fail := false;
		   temp := arg[i];
		   arg[i] := arg[i+1];
		   arg[i+1] := temp;
		 end;
 until fail;
  end;

  var visi : studentai;
   fin, fout : text;
   i : integer;
begin
  assign (fin, 'studentai.in');
  reset (fin);

  visi[0].pazymiu := 0;
  While not eof(fin) do
 begin
   inc (visi[0].pazymiu);
   Read (fin, visi[visi[0].pazymiu].vardas, visi[visi[0].pazymiu].pavarde);
   visi[visi[0].pazymiu].pazymiu := 0;
   while not eoln(fin) do
	 begin
	   inc(visi[visi[0].pazymiu].pazymiu);
	   read (fin, visi[visi[0].pazymiu].pazymiai[visi[visi[0].pazymiu].pazymiu]);
	 end;
   ReadLn (fin);
 end;
  close (fin);

  vidurkiai (visi);
  sort (visi);

  WriteLn ('Geriausias:  ', visi[1].vardas:15, ' ', visi[1].pavarde:15, ' vidurkis: ', visi[1].vidurkis:5:2);
  WriteLn ('Blogiausias: ', visi[visi[0].pazymiu].vardas:15, ' ', visi[visi[0].pazymiu].pavarde:15, ' vidurkis: ', visi[visi[0].pazymiu].vidurkis:5:2);
  WriteLn;
  for i := 1 to visi[0].pazymiu do
 WriteLn (visi[i].vardas:15, visi[i].pavarde:15, visi[i].vidurkis:5:2);

  assign (fout, 'rez.txt');
  rewrite (fout);

  WriteLn (fout, 'Geriausias:  ', visi[1].vardas:15, ' ', visi[1].pavarde:15, ' vidurkis: ', visi[1].vidurkis:5:2);
  WriteLn (fout, 'Blogiausias: ', visi[visi[0].pazymiu].vardas:15, ' ', visi[visi[0].pazymiu].pavarde:15, ' vidurkis: ', visi[visi[0].pazymiu].vidurkis:5:2);
  WriteLn;
  for i := 1 to visi[0].pazymiu do
 WriteLn (fout, visi[i].vardas:15, visi[i].pavarde:15, visi[i].vidurkis:5:2);

  close (fout);
  Readln;
end.

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