Отсортировать массив, найти его элементы, являющиеся квадратами четных чисел (и их количество) - PascalABC.NET

Формулировка задачи:

Даны натуральные числа n, a1......an где n<=3000. Отсортировать последовательность a1.....an в порядке возрастания, найти элементы ak последовательности, являющимся квадратами четных чисел, и определить их количество. Помогите пожалуйста Сортировать надо методом пузырька. Добавлено через 2 часа 51 минуту Допишите пожалуйста
var 
A:array[1..3000] of integer; 
N,i,k,tmp:integer; 
begin 
Repeat 
write('N='); 
readln(n); 
if (n<=0) or (n>3000) then writeln('Исходные данные неверны'); 
until(n>0) and (n<=3000); 
write('Исходный массив:'); 
 
For i:=1 to n do 
begin 
A[i]:= random(100); 
write(A[i]); 
if i<n then write(',') 
else write (','); 
end; 
 
For i:=2 to n do 
For j:=n downto i do 
If A[j]>A[j-1] then 
begin 
tmp:=A[j-1]; 
A[j-1]:=A[j]; 
A[j]:=tmp; 
end; 
 
writeln('Порядок возрастания'); 
for i:=1 to n do begin 
write(A[i]); 
if i<n then write (',') 
else write(','); 
end; 
End.


textual

Код к задаче: «Отсортировать массив, найти его элементы, являющиеся квадратами четных чисел (и их количество) - PascalABC.NET»

var
  A: array[1..3000] of integer;
  N, i, j, k, tmp: integer;
 
begin
  repeat
    write('N=');
    readln(n);
    if (n <= 0) or (n > 3000) then writeln('Исходные данные неверны');
  until(n > 0) and (n <= 3000);
  write('Исходный массив:');
  
  for i := 1 to n do
  begin
    A[i] := random(100);
    write(A[i]);
    if i < n then write(',');
  end;
  writeln;
  
  for i := 2 to n do
    for j := n downto i do
      if A[j] < A[j - 1] then
      begin
        tmp := A[j - 1];
        A[j - 1] := A[j];
        A[j] := tmp;
      end;
  k := 0;
  write('Порядок возрастания: ');
  for i := 1 to n do 
  begin
    write(A[i]);
    if (A[i] <> 0) and (frac(sqrt(A[i]) / 2) = 0) or (A[i] = 1) then inc(k);
    if i < n then write(',');
  end;
  writeln;
  Writeln('Колличество квадратов четных чисел = ', k);
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 3.933 из 5

Источник