Jump to content

Masīva sakārtošanas ātrums Pascal vidē.


Konko
 Share

Recommended Posts

Ir programma ar kuru var pārbaudīt cik ilgā laikā pēc Šeikera algoritma tiek sakārtots 10 veselu pozitīvu skaitļu masīvs. Diemžēl programmas izpildes (melnajā) logā nemirgo kursors, kā tas parasti ir Pascal vidē. Pati programmas darbojas.

Ko darīt lai arī kursors būtu redzams.

 

program shaker2;

uses graph, Dos;

var A: array[1..10] of word;

i,j,sk:byte;

buf, min, max:word;

 

Chas1,Min1,Sec1,Sotki1,

Chas2,Min2,Sec2,Sotki2,Reakc :Word;

 

Device, Mode:Integer;

 

begin

 

Device:=0;

InitGraph(Device, Mode,'E:\TP\BGI');

 

sk:=0;

writeln('Ievadiet sakotnejo masivu 10 veselus pozitivus skaitljus');

writeln(' pec katra nospiezjot Enter: ');

 

GetTime(Chas1,Min1,Sec1,Sotki1);

for i:=1 to 10 do Read(A);

 

for i:=1 to 10 div 2 do

begin

if A > A[i+1]

then begin

min:=i+1;

max:=i;

end

else begin

min:=i;

max:=i+1;

end;

for j:=i+2 to 10-i+1 do

if A[j]>A[max]

then max:=j

else

if A[j]<A[min] then min:=j;

buf:=A;

A:=A[min];

A[min]:=buf;

sk:=sk+1;

if max=i then max:=min;

buf:=A[10-i+1];

A[10-i+1]:=A[max];

A[max]:=buf;

end;

writeln('Sakartotais masivs: ');

for i:=1 to 10 do write(A,' ');

 

GetTime(Chas2,Min2,Sec2,Sotki2);

Reakc:=100*(Sec2-Sec1)+(Sotki2-Sotki1);

writeln;

Writeln('Masivs tika sakartots - 0,',Reakc,' sekundees');

 

readln;

readln;

end.

 

Atradu pats kļūdu. Viss ir OK!

Labots - Konko
Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...