var a: array[1..n1, 1..n1] of integer; i, j, n, k, m: integer; s: real;
begin Write('Введите число строк (cтолбцов) массива: '); Readln(n); Randomize; Writeln('Исходный массив'); m := 0; for i := 1 to n do begin for j := 1 to n do begin k := Random(101) - 50; a[i, j] := k; Write(k:4); end; Writeln; m := m + a[i, i] end; k := 0; s := m / n; for i := 1 to n do for j := 1 to n do if a[i, j] > s then k := k + 1; Writeln('Среднее значение элементов главной диагонали равно ', s); Writeln('Количество элементов, значения которых больше этой величины - ', k) end.
n1 = 20;
var
a: array[1..n1, 1..n1] of integer;
i, j, n, k, m: integer;
s: real;
begin
Write('Введите число строк (cтолбцов) массива: ');
Readln(n);
Randomize;
Writeln('Исходный массив');
m := 0;
for i := 1 to n do
begin
for j := 1 to n do
begin
k := Random(101) - 50;
a[i, j] := k;
Write(k:4);
end;
Writeln;
m := m + a[i, i]
end;
k := 0; s := m / n;
for i := 1 to n do
for j := 1 to n do
if a[i, j] > s then k := k + 1;
Writeln('Среднее значение элементов главной диагонали равно ', s);
Writeln('Количество элементов, значения которых больше этой величины - ', k)
end.
Тестовое решение:
Введите число строк (cтолбцов) массива: 10
Исходный массив
29 22 23 15 -23 -25 19 9 -8 -16
1 15 2 35 27 -44 -10 -34 19 50
-35 -31 15 -24 24 -11 -49 -46 40 20
16 48 16 -49 -22 -2 -37 -38 -25 9
36 44 6 23 -16 -27 -40 22 20 29
30 -12 45 32 19 10 -44 -4 41 38
-27 14 20 23 19 4 50 0 7 -21
43 -23 42 -40 -36 -29 13 43 42 0
-21 -20 -15 -40 41 -23 -47 34 -17 19
-9 18 -29 -13 -15 -29 -27 34 -46 31
Среднее значение элементов главной диагонали равно 11.1
Количество элементов, значения которых больше этой величины - 45
# Написать функцию date , принимающую 3 аргумента — день, месяц и год.
# Вернуть True, если такая дата есть в нашем календаре, и False иначе.
def is_year_leap(year):
"""
Принимает аргумент: порядковый номер года
Возвращает значение: если високосный год - True, иначе - False
"""
if year % 4 != 0:
return False
elif year % 100 == 0:
if year % 400 == 0:
return True
else:
return False
else:
return True
def date(day, month, year):
"""
Принимает аргументы: день, месяц, год
Возвращает значение: если дата правильная - True, иначе - False
"""
# Задаем количество дней в месяцах невисокосного года
set_months = {1: 31,
2: 28,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31}
# Проверяем заданы ли верно год и месяц
if year > 0 and (month >= 1 and month <= 12):
# Изменяем количество дней для февраля в високосных годах
if month == 2 and is_year_leap(year) == True:
set_months[2] = 29
# Проверяем задан ли верно день
if day in range(1, set_months[month]+1):
return True
else:
return False
else:
return False
# Тест кейсы
print(date(31, 12, 2020)) # Правильная дата
print(date(1, 0, 2000)) # Месяц вне диапазона
print(date(1, 1, 0)) # Год вне диапазона
print(date(29, 2, 2000)) # 29 февраля високосный год
print(date(29, 2, 1900)) # 29 февраля невисокосный год
Объяснение: