Помогите, пожалуйста, с размерностью массива
Дан массив b
. Переписать в массив c
положительные элементы массива b
умноженные на 5. Затем упорядочить методом "пузырька" по возрастанию новый массив. Найти общее количество одинаковых элементов в упорядоченном массиве. Как правильно определить размерность массива после перестановки? Объясните, пожалуйста!!!
program sort_3;
const n=10;
var b: array[1..n] of real;
c: array[1..n] of real;
k,i: integer; temp: real; flag: boolean;
begin
writeln('Массив В');
randomize;
for i:=1 to n do
begin
b:=random(100)-50;
write(b:4:0);
end;
writeln;
writeln('Массив С');
k:=1;
for i:=1 to n do
begin
if b>0 then
begin
c[k]:=b*5;
write('c[',k,']=',c[k],' ');
k:=k+1;
end;
end;
writeln;
repeat
flag:=true;
for i:=1 to k-2 do
begin
if c>c[i+1] then
begin
temp:=c;
c:=c[i+1];
c[i+1]:=temp;
flag:=false;
end;
end;
until flag;
writeln('После сортировки');
for i:=1 to k-2 do
write(' ',c);
writeln
end.
Результат:
Массив В
38 1 0 -31 -34 42 41 -30 -28 -17
Массив С
c[1]=190 c[2]=5 c[3]=210 c[4]=205
После сортировки
5 190 205
Дан массив b
program sort_3;
const n=10;
var b: array[1..n] of real;
c: array[1..n] of real;
k,i: integer; temp: real; flag: boolean;
begin
writeln('Массив В');
randomize;
for i:=1 to n do
begin
b:=random(100)-50;
write(b:4:0);
end;
writeln;
writeln('Массив С');
k:=1;
for i:=1 to n do
begin
if b>0 then
begin
c[k]:=b*5;
write('c[',k,']=',c[k],' ');
k:=k+1;
end;
end;
writeln;
repeat
flag:=true;
for i:=1 to k-2 do
begin
if c>c[i+1] then
begin
temp:=c;
c:=c[i+1];
c[i+1]:=temp;
flag:=false;
end;
end;
until flag;
writeln('После сортировки');
for i:=1 to k-2 do
write(' ',c);
writeln
end.
Результат:
Массив В
38 1 0 -31 -34 42 41 -30 -28 -17
Массив С
c[1]=190 c[2]=5 c[3]=210 c[4]=205
После сортировки
5 190 205