Сформировать массив К из тех элементов вектора Х, которые являются степенью числа 2 - Pascal

Узнай цену своей работы

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

уважаемые помогите пожалуйста разобраться с 2мя задачами на паскале 1 Задан целый вектор X(n), n<=16. Сформировать массив К из тех элементов вектора Х, которые являются степенью числа 2. 2 Для матрицы F(m, n), 1<(m, n)<10, напечатать номера столбцов с количеством нулей больше 1. Переставить строки по возрастанию значений минимальных элементов строк. 1-я на одномерный массив а 2-я на двумерный, вот уже вторые сутки без сна парюсь а толку никакого..

Решение задачи: «Сформировать массив К из тех элементов вектора Х, которые являются степенью числа 2»

textual
Листинг программы
uses crt;
const max=16;
var x,k:array[1..max] of integer;
    n,m,i,j:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива n=');
readln(n);
until n in [1..max];
writeln('Исходный массив X:');
for i:=1 to n do
 begin
  x[i]:=random(20)+2;
  write(x[i],' ');
 end;
writeln;
writeln;
m:=0;
for i:=1 to n do
 begin
  j:=1;
  while j<x[i] do
  j:=j*2;
  if j=x[i] then
   begin
    m:=m+1;
    k[m]:=x[i];
   end;
 end;
writeln('Массив К:');
for i:=1 to m do
write(k[i],' ');
readln
end.

Объяснение кода листинга программы

В данном коде используется язык программирования Pascal. Он предназначен для создания и работы с массивами. В первой строке кода используется библиотека crt, которая предоставляет функции для работы с консолью. Далее, в строке const определяется максимальное значение переменной max, которое равно 16. В переменной x хранится массив целых чисел размером от 1 до max. Переменные n, m, i и j используются для итерации по массиву x и формирования массива k. С помощью функции randomize производится инициализация генератора случайных чисел. Затем, в цикле repeat-until, запрашивается размер массива n. Цикл продолжается до тех пор, пока n не будет находиться в диапазоне от 1 до max. Далее, в цикле for i:=1 до n do, для каждого элемента массива x вычисляется случайное число x[i], которое затем записывается в массив k. После этого, в блоке if, проверяется равенство j и x[i]. Если они равны, то увеличивается значение переменной m и элемент x[i] копируется в k. В конце кода выводится массив k с помощью цикла for i:=1 до m do и функции write. Код не использует вложенные списки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы