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