Сформировать массив из элементов матрицы - Pascal ABC (249683)
Формулировка задачи:
Дана матрица А размером 7х7. Сформировать одномерный массив В, содержащий элементы главной диагонали исходной матрицы. Найти в массиве В первый минимальный элемент. Посчитать сумму квадратов элементов массива В от начала до первого минимума.
Решение задачи: «Сформировать массив из элементов матрицы»
textual
Листинг программы
const n = 7; var a: array [1..n, 1..n] of integer; b: array[1..n] of integer; i, j, imin, sum: integer; begin randomize; sum := 0; for i := 1 to n do begin for j := 1 to n do begin a[i, j] := -15 + random(31); write(a[i, j]:4); if i = j then begin b[i] := a[i, j]; if i = 1 then imin := 1 else if b[i] < b[imin] then imin := i; end; end; writeln; end; write('Массив B: '); for i:=1 to n do write(b[i],' '); writeln; writeln('Первый минимальный: ', b[imin], '. Его индекс: ', imin); for i := 1 to imin do sum := sum + b[i] * b[i]; writeln('Сумма квадратов с первого до минимального: ', sum); end.
Объяснение кода листинга программы
- Объявляются константы и переменные:
- n = 7 (размер матрицы)
- a: array [1..n, 1..n] of integer (матрица a размером n на n, заполненная случайными числами от -15 до 15)
- b: array[1..n] of integer (массив b размером n, заполненный значениями по диагонали)
- i, j, imin, sum: integer (общие переменные для циклов)
- Выполняется инициализация генератора случайных чисел: randomize.
- Заполняется матрица a случайными числами от -15 до 15. Числа выводятся в консоль, при этом если элемент матрицы a[i, j] равен a[j, i], то его значение добавляется в массив b. Если i = 1 и b[i] < b[imin], то imin = i (используется для поиска индекса минимального элемента в массиве b).
- Выводится массив b.
- Выводится сообщение с минимальным значением элемента в массиве b и его индексом.
- Считается сумма квадратов элементов массива b от 1 до индекса минимального элемента.
- Выводится сообщение с полученным значением суммы квадратов.