Привет, меня зовут Алексей и сегодня я расскажу вам о своем опыте работы с задачами, связанными с массивами и матрицами на языке Pascal. В этой статье я рассмотрю решение нескольких интересных задач, связанных с массивами и матрицами.Задача 1⁚ Найти количество отрицательных элементов побочной диагонали
Для начала создадим двумерный массив Q размером 10×10 и заполним его случайными значениями. Затем мы можем перебрать все элементы побочной диагонали и подсчитать количество отрицательных элементов.pascal
VAR
Q⁚ ARRAY[1..10, 1..10] OF INTEGER;
i, n⁚ INTEGER;
BEGIN
n ⁚ 0;
// Заполняем массив Q случайными значениями
FOR i ⁚ 1 TO 10 DO
FOR j ⁚ 1 TO 10 DO
Q[i, j] ⁚ Random(100) ⎯ 50;
// Подсчитываем количество отрицательных элементов побочной диагонали
FOR i ⁚ 1 TO 10 DO
IF Q[i, 11 ⸺ i] < 0 THEN
n ⁚ n 1;
WriteLn('Количество отрицательных элементов побочной диагонали⁚ ', n);
END.Задача 2⁚ Найти сумму элементов 6 строки, стоящих в нечетных позициях
Аналогично предыдущей задаче, создадим массив Q и заполним его случайными значениями. Затем мы сможем перебрать элементы 6 строки и сложить только элементы, стоящие на нечетных позициях.pascal
VAR
Q⁚ ARRAY[1..10, 1..10] OF INTEGER;
i, sum⁚ INTEGER;
BEGIN
sum ⁚ 0;
// Заполняем массив Q случайными значениями
FOR i ⁚ 1 TO 10 DO
FOR j ⁚ 1 TO 10 DO
Q[i, j] ⁚ Random(100);
// Вычисляем сумму элементов 6 строки, стоящих в нечетных позициях
FOR j ⁚ 1 TO 10 DO
IF j MOD 2 1 THEN
sum ⁚ sum Q[6, j];
WriteLn('Сумма элементов 6 строки, стоящих в нечетных позициях⁚ ', sum);
END.Задача 3⁚ Перемножение 5 и 8 строк матрицы
Создаем массив Q, заполняем его значениями, а затем перемножаем элементы 5 и 8 строк.pascal
VAR
Q⁚ ARRAY[1..10, 1..10] OF INTEGER;
i, product⁚ INTEGER;
BEGIN
product ⁚ 1;
// Заполняем массив Q случайными значениями
FOR i ⁚ 1 TO 10 DO
FOR j ⁚ 1 TO 10 DO
Q[i, j] ⁚ Random(100);
// Перемножаем элементы 5 и 8 строк
FOR j ⁚ 1 TO 10 DO
product ⁚ product * Q[5, j] * Q[8, j];
WriteLn(‘Произведение элементов 5 и 8 строк матрицы⁚ ‘, product);
END.Создаем массив Q, заполняем его значениями, а затем выводим на экран элементы 2 столбца в обратном порядке, увеличенные на 5.pascal
VAR
Q⁚ ARRAY[1..10, 1..10] OF INTEGER;
i⁚ INTEGER;
BEGIN
// Заполняем массив Q случайными значениями
FOR i ⁚ 1 TO 10 DO
FOR j ⁚ 1 TO 10 DO
Q[i, j] ⁚ Random(100);
FOR i ⁚ 10 DOWNTO 1 DO
Write(Q[i, 2] 5, ‘ ‘);
WriteLn;
END.Задача 5⁚ Упорядочить массив по неубыванию элементов 9 столбца
Создаем массив Q, заполняем его значениями, а затем сортируем элементы 9 столбца по неубыванию.pascal
VAR
Q⁚ ARRAY[1..10, 1..10] OF INTEGER;
i, j, temp⁚ INTEGER;
BEGIN
// Заполняем массив Q случайными значениями
FOR i ⁚ 1 TO 10 DO
FOR j ⁚ 1 TO 10 DO
Q[i, j] ⁚ Random(100);
// Сортируем элементы 9 столбца по неубыванию
FOR i ⁚ 1 TO 9 DO
FOR j ⁚ i 1 TO 10 DO
IF Q[i, 9] > Q[j, 9] THEN
BEGIN
temp ⁚ Q[i, 9];
Q[i, 9] ⁚ Q[j, 9];
Q[j, 9] ⁚ temp;
END;
WriteLn(‘Массив Q, упорядоченный по неубыванию элементов 9 столбца⁚’);
FOR i ⁚ 1 TO 10 DO
BEGIN
FOR j ⁚ 1 TO 10 DO
Write(Q[i, j], ‘ ‘);
WriteLn;
END;
END.Задача 6⁚ Вывести на экран только те цифры числа, которые делятся на два без остатка
Пользователь вводит целое положительное число, затем мы выводим на экран только те цифры, которые делятся на два без остатка.pascal
VAR
num, digit⁚ INTEGER;
BEGIN
Write(‘Введите целое положительное число⁚ ‘);
ReadLn(num);
Write(‘Цифры, делящиеся на два без остатка⁚ ‘);
WHILE num > 0 DO
BEGIN
digit ⁚ num MOD 10;
num ⁚ num DIV 10;
IF digit MOD 2 0 THEN
Write(digit, ‘ ‘);
END;
WriteLn;
END.
Таким образом, я поделился с вами своим опытом работы с задачами, связанными с массивами и матрицами на языке Pascal. Надеюсь, этот материал был полезным и поможет вам решать подобные задачи в будущем. Удачи в программировании!