Const n=20;
var a:array[1..n] of integer;
i,j,t,i1,i2,x:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(15);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n-1 do
for j:=1 to n-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
write('x = '); readln(x);
i1:=1; i2:=n;
repeat
i:=(i1+i2) div 2;
if a[i]<x then i1:=(i1+i2) div 2+1;
if a[i]>x then i2:=(i1+i2) div 2-1;
until (a[i]=x)or(i1>i2);
if a[i]=x then
begin
while (i>0)and(a[i]=x) do i:=i-1;
i:=i+1; j:=i;
while (i<=n)and(a[i]=x) do i:=i+1;
writeln('Число ',x,' встречается ',i-j,' раз(а)');
end
else writeln('Число ',x,' не встречается');
writeln;
end.
Пример:
Исходный массив:
4 13 5 3 14 12 12 8 9 6 3 2 4 4 14 1 12 2 5 9
Отсортированный массив:
1 2 2 3 3 4 4 4 5 5 6 8 9 9 12 12 12 13 14 14
x = 5
Число 5 встречается 2 раз(а)
var a, b, c, d, x1, x2, t: real;
begin
writeln('Программа для решения неравенства ax^2 + bx + c > 0');
write('Введите коэффициенты a, b, c: ');
readln(a, b, c);
if a = 0 then begin
if b = 0 then
begin
if c > 0 then writeln('(-∞; +∞)')
else writeln('ø')<span>
end</span>
else if b > 0 then writeln('(', -c / b : 0 : 3, '; +∞)')
else writeln('(-∞; ', -c / b, ')')
end
else
begin
d := b * b - 4 * a * c;
if d = 0 then
begin
x1 := -b / (2 * a);
if a > 0 then writeln('(-∞; ', x1, ') U (', x1, '; +∞)')
else writeln('ø')
end
else if d > 0 then
begin
x1 := (-b - sqrt(d)) / (2 * a);
x2 := (-b + sqrt(d)) / (2 * a);
if x1 > x2 then
begin
t := x1;
x1 := x2;
x2 := t
end;
if a > 0 then writeln('(-∞; ', x1, ') U (', x2, '; +∞)')
else writeln('(', x1, '; ', x2, ')')
end
else
begin
if a > 0 then writeln('(-∞; +∞)')
else writeln('ø')
end
end
end.
Вход МАТЕМАТИКА
Шаг1 отбростиь последнюю букву МАТЕМАТИК
Шаг 2 Отбросить все буквы кроме трёх последних ТИК
Шаг 3 Записать буквы в обратном порядке КИТ
Выход КИТ
Если перевести все эти числа в одну систему счисления (например в десятичную), станет ясно, что правильный ответ 3.
Const
mm = 30;
var
a: array[1..mm, 1..mm] of integer;
i, j, m, s: integer;
begin
Write('Введите число строк матрицы: ');
Readln(m);
Randomize;
Writeln(#13#10, 'Исходная матрица');
for i := 1 to m do
begin
for j := 1 to m do
begin
a[i, j] := Random(101) - 50;
Write(a[i, j]:4)
end;
Writeln
end;
{ *** 1 *** }
Writeln('*** Элементы главной диагонали ***');
for i := 1 to m do Write(a[i, i]:4);
Writeln;
Writeln('*** Элементы побочной диагонали ***');
for i := m downto 1 do Write(a[i, m - i + 1]:4);
Writeln;
{ *** 2 *** }
s := 0;
for i := 1 to m - 1 do
for j := i + 1 to m do
s := s + a[i, j];
Writeln('Сумма элементов, лежащих выше главной диагонали: ', s);
end.
Тестовое решение:
Введите число строк матрицы: 10
Исходная матрица
-8 15 22 40 6 46 -37 35 -45 -5
41 22 45 17 -19 -14 50 -11 43 -10
27 20 -45 -35 27 -27 25 3 34 6
37 5 38 -36 32 -18 11 -41 44 46
35 24 -38 -18 1 28 -25 -25 -5 36
20 33 37 -32 -35 23 9 7 -38 -18
-29 10 -50 0 9 -15 34 30 35 50
26 40 -5 48 5 -47 7 24 14 50
49 -1 -43 49 36 -47 18 20 49 -41
24 -47 47 12 25 -26 24 12 24 -35
*** Элементы главной диагонали ***
-8 22 -45 -36 1 23 34 24 49 -35
*** Элементы побочной диагонали ***
24 -1 -5 0 -35 28 11 3 43 -5
Сумма элементов, лежащих выше главной диагонали: 392