Отсортировать массив, найти его элементы, являющиеся квадратами четных чисел (и их количество) - PascalABC.NET
Формулировка задачи:
Даны натуральные числа n, a1......an где n<=3000. Отсортировать последовательность a1.....an в порядке возрастания, найти элементы ak последовательности, являющимся квадратами четных чисел, и определить их количество.
Помогите пожалуйста
Сортировать надо методом пузырька.
Допишите пожалуйста
Листинг программы
- 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
Листинг программы
- 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.
Объяснение кода листинга программы
- Ввод числа N от 1 до 3000
- Инициализация массива A[1..3000] случайными целыми числами от 0 до 99
- Вывод исходного массива A на экран
- Сортировка массива A методом пузырька
- Проход по отсортированному массиву A и подсчет количества квадратов четных чисел (с помощью переменной k)
- Вывод отсортированного массива A на экран
- Вывод количества квадратов четных чисел на экран
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д