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

Urgent !!!!!!PROGRAM PASCAL
Se dă un vector cu x cu n(1<=n<=100)componente numere naturale mai mici sau egale cu 60000.Folosind o procedură pentru citirea unui vector,o procedură pentru ordonarea crescătoarea sau descrescătoare a unui vector și o procedură pentru afișarea unui vector,să se ordoneze crescător componentele lui x de pe poziții impare și descrescător cele de pe poziții pare.
Exemplu :
Pentru n=10 și x cu componentele :
15 20 8 6 7 13 2 8 13 12
se va afișa:
15 6 13 8 8 12 7 13 2 20

Răspunsuri la întrebare

Răspuns de howardax
0

program brainly;

type vector=array[0..100] of integer;

var

aux:integer;

v:vector;

i, j, n:integer;

procedure citireX();

begin

writeln ('Dati numarul de elemente n:'); read(n);

for i:=0 to n-1 do begin

readln(v[i]);

end;

end;

procedure afisareX(n:integer);

begin

writeln();

writeln('Sirul x:');

for i:=0 to n-1 do begin

write(' ',v[i]);

end;

end;

procedure ordCresc(n:integer);

begin

for i:=0 to n-1 do begin

for j:=0 to n-1 do begin

if (v[i] < v[j]) AND (i mod 2 <> 0) AND (j mod 2 <> 0) then

begin

aux:=v[i];

v[i]:=v[j];

v[j]:=aux;

end;

end;

end;

end;

procedure ordDesc(n:integer);

begin

for i:=0 to n-1 do begin

for j:=0 to n-1 do begin

if (v[i] > v[j]) AND (i mod 2 = 0) AND (j mod 2 = 0) then

begin

aux:=v[i];

v[i]:=v[j];

v[j]:=aux;

end;

end;

end;

end;

begin

citireX();

afisareX(n);

ordCresc(n);

ordDesc(n);

afisareX(n);

end.

Rezultat:

Anexe:
Alte întrebări interesante