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.

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