Informatică, întrebare adresată de cniculae151, 8 ani în urmă

Să se scrie un program pascal pentru medicamentele din farmacie

type medicament=record
nume:string[50];
pret, cantitate:integer

End.

Sa se afișeze medicamentele in funcție de preț.


NikTel: sa se afiseze toate medicamentele in functie de pret crescator/descrescator ?
cniculae151: Crescător

Răspunsuri la întrebare

Răspuns de NikTel
1

Răspuns:

Program Farmacia;

type medicament=record

       nume:string;

       pret:integer;

       cantitate:integer

end;

var m:array[1..1000] of medicament; //vector cu elemente de tip medicament

   i,n,auxp,auxc:integer;

   auxn:string;

   gasit:boolean;

begin

write('Numar de medicamente : ');

read(n);

for i:=1 to n do

       begin

       writeln('Medicament ',i);

       writeln('denumire');read(m[i].nume);

       writeln('Pret ');read(m[i].pret);

       writeln('Cantitate ');read(m[i].cantitate);

       writeln;

       end;

//sortare cu metoda bulelor(sortare prin interschimbare)

//gasit variabila booleana ne arata daca avem interschimbare

repeat

for i:=1 to (n-1) do

      if  (m[i].pret>m[i+1].pret) then

                    begin

               auxp:=m[i].pret;m[i].pret:=m[i+1].pret;m[i+1].pret:=auxp;

               auxn:=m[i].nume;m[i].nume:=m[i+1].nume;m[i+1].nume:=auxn;                           auxc:=m[i].cantitate;m[i].cantitate:=m[i+1].cantitate;m[i+1].cantitate:=auxc;

               gasit:=true;

                    end

                                  else gasit:=false;

until (gasit=false);

for i:=1 to n do begin

       write('nume ',m[i].nume,' pret ', m[i].pret);

       writeln

       end;

readln;

end.

Alte întrebări interesante