Написать программу в pascal, которая будет проверять «счастливый» билет или нет. примечание: счастливым билетом называют число, в котором а)при четном количестве цифр в числе сумма цифр его левой половины равна сумме цифр его правой половины; б) при нечетном количестве цифр – то же самое, но с отбрасыванием серединной цифры. например, рассмотрим число 1322. его левая половина равна 13, а правая – 22, и оно является счастливым билетом (т. к. 1 + 3 = 2 + 2).
n = 6;
var
b: array[1..n, 1..n] of integer;
a: array[1..n] of integer;
i, j, s1, s2, max: integer;
begin
Randomize;
Writeln('Исходный массив');
//max := -777; {заведомо меньше меньшего}
for i := 1 to n do
begin
for j := 1 to n do
begin
b[i, j] := Random(101) - 50;
Write(b[i, j]:4)
end;
Writeln
end;
s1 := 0; s2 := 0;
for i := 1 to n do begin s1 := s1 + b[1, j]; s2 := s2 + b[j, j] end;
if s1 > s2 then begin
Writeln('Сформированный массив');
for i := 1 to n do
begin
max := b[i, 1];
for j := 2 to n do if max < b[i, j] then max := b[i, j];
a[i] := max;
Write(max:4)
end
end
else begin
s1 := 0; s2 := 0;
for i := 1 to n do
for j := 1 to n do
if b[i, j] > 0 then s1 := s1 + b[i, j]
else s2 := s2 + b[i, j];
Writeln('Среднее арифметическое положительных элементов= ', s1/n);
Writeln('Среднее арифметическое отрицательных элементов= ', s2/n);
end
end.
Тестовые решения:
Исходный массив
-32 38 -10 42 -30 -35
-13 -22 14 -2 -42 0
-38 18 29 39 -26 19
15 23 -4 -31 21 8
-36 13 -26 -6 -13 -10
-11 38 40 11 -10 -22
Среднее арифметическое положительных элементов= 61.3333333333333
Среднее арифметическое отрицательных элементов= -69.8333333333333
Исходный массив
-37 -22 38 25 -23 21
-33 -50 32 42 -1 7
9 29 -9 21 29 -4
50 13 -33 -13 -47 10
25 46 18 47 15 48
-48 12 -39 -8 34 14
Сформированный массив
38 42 29 50 48 34
1) 2 * sqr(x) * x или 2 * x * x * x
2) (a + b) / (2 * a + b) * (a + c)
3) pi * sqr(R) или 3.14 * R * R
4) 1 / 2 * a * b * sin(a)
5) sqrt(sqr(x) + sqr(y)) - 1.5 * (x - 3)
6) sqrt(sqr(b) - 4 * a * c)
7) sin(x) + cos(x) - x / (x + 1)
8) sin(a) * cos(b) - cos(a) * sin(b)
9) abs(sin(x) - cos(x))
10) 7000 * (a * b / (b * y))
11) sqrt(1 - cos(2 * a))
Объяснение:
sqr(x) - квадрат числа
sqrt(x) - квадратный корень
abs(x) - модуль
sin(x) - синус
cos(x) - косинус
Выражения записываются в строчку
Допускается применение круглых скобок (скобки изменяют приоритет)
Операции выполняются в порядке приоритета