Var
arr : array [1..30] of integer;
i, number : integer;
begin
//Заполнение массива случайными числами
for i := 1 to 30 do
arr[i] := Random(10000) - 5000;
//---
//Считывание номера элемента и проверка на соответствие условию
write('Введите число: ');
readln(number);
if not (number in [1..30]) then
begin
write('Ошибка. Номер элемента выходит за границу массива');
Exit;
end;
//---
//Вывод массива с учётом условия
for i := 1 to 30 do
if arr[i] > arr[number] then
write(arr[i], ' ');
//---
end.
Решение для 4-байтного представления
Запишем двоичное число в форме нормализованного двоичного числа с плавающей точкой
0,110010001*10^1000
10- основание (2дес=10дв)
1000-порядок(8дес=1000дв)
Определим машинный порядок:
МП = 1000 + 1000000 = 1001000
запишем число
01001000 0000000 00000001 10010001
порядок ман тис са
Var
a:array[1..10]of integer;
i:integer;
Begin
For i:= 1 to 10 do
begin
Read(a[i]);
if a[i] mod 2 <>0 then Write(a[i], ' ');
end;
end.
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
//Более современное решение
// PascalABC.NET 3.3, сборка 1576 от 16.11.2017
// Внимание! Если программа не работает, обновите версию!
Begin
var a:= ReadlnString('Введите массив').ToIntegers;
SetLength(a, 10);
a.Where(t->t.isOdd).Println;
end.
<h3>PascalABC.NET 3.4.2, сборка 1859 от 08.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var X := ArrRandom(ReadInteger('A='), -21, 21);
X.Println;
X.Sorted.Println;
X.Where(t -> t.IsOdd).OrderDescending.Println
end.
<h3>A= 18</h3><h3>9 9 -10 21 -11 -13 -2 19 5 20 -5 20 11 -6 -2 -10 14 -12</h3><h3>-13 -12 -11 -10 -10 -6 -5 -2 -2 5 9 9 11 14 19 20 20 21</h3><h3>21 19 11 9 9 5 -5 -11 -13</h3>