Pereiti prie turinio

Programavimas pascaliu skubiai padekite!


Rekomenduojami pranešimai

Ar kas galite padeti padaryt uzduoti su pascaliu skoloj tikrai nelikciau, pagalba praverstu kuo greiciau.. uzduotis tokia: . Turime tekstiniame faile studentų sąrašą: pavarde, vardas, grupes šifras, visų egzaminu pažymiai. Suformuoti sąrašą: pavarde, vardas, grupes šifras, pažymiu vidurkis. Jį sutvarkyti pagal grupes šifrą ir pažymių vidurkį. Išvesti dvi lenteles: duomenų ir skaičiavimų rezultatų. jei kas susidometu atsiusciau ir pvz.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 savaičių...

Manasis variantas. Gal kam pravers. :) Kartais visai mielai paspręsčiau akademinio tipo pascal, C ar C++ uždavinius už atitinkamą atlygį.

 

program Pascal_Job;
const dfilename = 'uzduotis.txt';
     Max = 100;
     Max1 = 100;

type Eil = string[20];
       Eil2 = string[5];
    Mokinys = record
                pav: Eil;
                grupe: Eil2;
                paz: array [1..Max] of integer;
                pazk: integer;
                vid: real;
                idk: integer;
              end;
   Mas = array [1..Max1] of Mokinys;


procedure Skaityti (var m: mas; var n: integer);
var byla: text;
   i, j : integer;
begin
 Assign (byla, dfilename);
 Reset (byla);  i := 0;
 while not Eof (byla) do
     begin
       i := i + 1;
       Read (byla, m[i].pav, m[i].grupe);
       j := 0;
       while not Eoln (byla) do
         begin
           j := j + 1;
           Read (byla, m[i].paz[j]);
         end;
        m[i].pazk := j;
       Readln (Byla);
     end;
 n := i;
 Close (byla);
end;


procedure Vidurkiai (var m: mas; mx : integer);
var
   i, j, suma: integer;
begin
  for i := 1 to mx do
    begin
     suma := 0;
     for j := 1 to m[i].pazk do
       suma := suma + m[i].paz[j];
     if (suma > 0 ) then m[i].vid := (suma / m[i].pazk);

    end;
 end;

procedure PriskirtiID (var m: mas; mx : integer);
var
   i, j: integer;
   yra : array [1..Max1] of boolean;
begin
  for i := 1 to mx do begin
                        m [i].idk := i;
                        yra [i] := false;
                      end;

  for i := 1 to mx do
    begin
     for j := i+1 to mx do
         if (m[i].grupe = m [j].grupe) and (not yra[j])
           then begin
                  m [j].idk := m[i].idk;
                  yra [j] := true;
                end;
    end;
 end;

procedure Spausdinti (m : Mas; n: integer);
var
i, j: integer;
begin
 for i := 1 to n do
   begin
     Write (m[i].pav, m[i].grupe);
     for j := 1 to m[i].pazk do write (' ', m [i].paz[j]);
     Writeln;
   end;
end;



procedure RSpausdinti (m : Mas; n: integer);
var
i, j: integer;
begin
 Writeln;
 for i := 1 to n do
  for j := 1 to n do
          if m[j].idk = i then Writeln (m[j].pav, m[j].grupe, m[j].vid:2:2);

end;

var
 k: integer;
 m: mas;
begin
 Skaityti (m, k);
 Spausdinti (m, k);
 PriskirtiID (m, k);
 Vidurkiai (m, k);
 RSpausdinti (m, k);
 Readln;
end.

Uzduotis.txt

Burokas Jurgis      5a   8 10 10
Kazlauskas Vytautas 7a   9 5 10
Morkute Rima        9t   9 8 10
Mankute Roma        9t   9 7 10
Petraitis Petras    9r   8 5 9 9
Kazlauskaite Renata 7a   5 10

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