Сформировать новый массив из элементов заданного, кратных 7 или содержащих в записи числа эту цифру - Turbo Pascal
Формулировка задачи:
Дан целочисленный массив М из n элементов (n<=50), содержащий двузначные числа. Сформировать новый массив из элементов заданного, кратных 7 или содержащих в записи числа эту цифру.
Решение задачи: «Сформировать новый массив из элементов заданного, кратных 7 или содержащих в записи числа эту цифру»
textual
Листинг программы
const nmax=50; type mas=array[1..nmax] of integer; var m,m1:mas; n,n1,i:integer; begin repeat write('n=?, 1<n<=',nmax,': ');readln(n); until (n>1)and(n<=nmax); writeln('M:'); for i:=1 to n do begin m[i]:=10+random(90); write(m[i],' ') end; writeln; n1:=0; for i:=1 to n do if (m[i] mod 7 = 0)or(m[i] div 10 =7)or(m[i] mod 10 = 7) then begin inc(n1); m1[n1]:=m[i] end; if n1=0 then writeln('нет таких элементов') else begin writeln('M'':'); for i:=1 to n1 do write(m1[i],' ') end end.
Объяснение кода листинга программы
- Создается константа nmax, которая определяет максимальное значение индекса массива.
- Создается тип данных mas, который представляет собой массив целых чисел.
- Создаются две переменные m и m1, которые представляют собой массивы целых чисел.
- Создается переменная n, которая представляет собой введенное пользователем число.
- Создается переменная n1, которая представляет собой количество элементов в массиве m, удовлетворяющих условию задачи.
- Создается цикл repeat, который продолжается до тех пор, пока n больше 1 и меньше или равно nmax.
- Внутри цикла выводится запрос на ввод числа n.
- Если n больше 1 и меньше или равно nmax, то выводится число m[i] и оно записывается в массив m1.
- Если n1 равно 0, то выводится сообщение
нет таких элементов
. - Если n1 не равно 0, то выводится сообщение
M
:`, а затем выводится каждый элемент массива m1, разделенные пробелами.