Написать программу, которая определяет в одномерном массиве, заполненном случайным образом, количество элементов, значения которых меньше числа, введенного с клавиатуры. если есть, то вывести эти элементы
Program n1; const n=17; var a: array[1..n] of integer; i,c,k: integer; begin randomize; write('введите число: '); readln(c); writeln('массив: '); for i:=1 to n do begin a[i]:=random(50); write(a[i],' '); end; writeln; writeln('эл. которые меньше ',c); for i:=1 to n do if a[i]<c then begin k:=k+1; write(a[i],' '); end; writeln; writeln('количество: ',k); end.
в кинозале всего 16×32=512 мест. Сообщение о купленном билете однозначно определяет выбор одного из этих мест. Из уравнения 2 i = 512=29получаем: i=9 бит. Но эту же задачу можно решать иначе. Сообщение о номере ряда несет 4 бита информации, т.к. 24=16. Сообщение о номере места несет 5 бит информации, т.к. 25=32. В целом сообщение про ряд и место несет: 4+5=9 бит информации. Данный пример иллюстрирует выполнение закона активности информации (правило сложения): количество информации в сообщении одновременно о нескольких результатах независимых друг от друга событий равно сумме количеств информации о каждом событии отдельно.
var c, a: array[1..20] of integer; i: integer; begin write('Первый массив '); for i := 1 to 20 do begin c[i] := i * (-5); write(c[i], ' '); end; writeln; write('Преобразованный массив '); for i := 1 to 20 do begin a[i] := c[20 - i + 1]; write(a[i], ' '); end; end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var c: array[1..20] of integer; i: integer; begin write('Первый массив '); for i := 1 to 20 do begin c[i] := i * (-5); write(c[i], ' '); end; writeln; write('Преобразованный массив '); for i := 20 downto 1 do write(c[i], ' '); end.
const n=17;
var a: array[1..n] of integer;
i,c,k: integer;
begin
randomize;
write('введите число: ');
readln(c);
writeln('массив: ');
for i:=1 to n do
begin
a[i]:=random(50);
write(a[i],' ');
end;
writeln;
writeln('эл. которые меньше ',c);
for i:=1 to n do if a[i]<c then
begin
k:=k+1;
write(a[i],' ');
end;
writeln;
writeln('количество: ',k);
end.