Учебный курс Программирование на Delphi. Модуль 11: различия между версиями
(→Пример 1) |
|||
Строка 99: | Строка 99: | ||
==Задание== | ==Задание== | ||
− | Таблица | + | <CENTER>'''Таблица №19'''</CENTER> |
+ | {| border=1 | ||
+ | |- | ||
+ | !Номер варианта||Условие | ||
+ | |- | ||
+ | |<center>1</center>||Для данного целого положительного n создать матрицу A(n,n), в которой элементы, стоящие по диагонали, равны единице, а все остальные элементы - нулевые. | ||
+ | |- | ||
+ | |<center>2</center>||Для данного целого положительного n сформировать матрицу A(n,n), в которой элементы диагонали равны номеру строки, а все остальные элементы - нулевые. | ||
+ | |- | ||
+ | |<center>3</center>||В матрице A(n,n) поменять местами две строки с номерами р и q. | ||
+ | |- | ||
+ | |<center>4</center>||В матрице A(n,m) поэлементно вычесть последнюю строку из всех строк, кроме последней. | ||
+ | |- | ||
+ | |<center>5</center>||В матрице х(k,l) поменять местами максимальный и минимальный элементы. | ||
+ | |- | ||
+ | |<center>6</center>||Матрицу A(n,n) сформировать по следующему принципу: по диагонали расположены единицы, выше диагонали - нули, а элементы, расположенные ниже диагонали, равны сумме соответствующих индексов. | ||
+ | |- | ||
+ | |<center>7</center>||Задана матрица В(3,5). Получить матрицу V путем удаления из В строки и столбца, в которых содержится минимальный элемент. | ||
+ | |- | ||
+ | |<center>8</center>||Дана матрица A(m,n). Дополнить ее (m+1)-й строкой и (n+1)-м столбцом, в которых записать суммы элементов соответствующих строк или столбцов исходного массива А. | ||
+ | |- | ||
+ | |<center>9</center>||Транспонировать матрицу x(m,n). | ||
+ | |- | ||
+ | |<center>10</center>||Из матрицы А(3,4) получить вектор В, элементами которого являются произведения элементов в каждой строке матрицы. | ||
+ | |- | ||
+ | |<center>11</center>||Создать вектор М, содержащий количество отрицательных элементов каждого столбца матрицы z(3,4). | ||
+ | |- | ||
+ | |<center>12</center>||Сформировать матрицу У(n,n) таким образом, чтобы значения всех элементов 1-го столбца были равны 1, второго - 2, n-го - n. | ||
+ | |- | ||
+ | |<center>13</center>||Имеется матрица A(m,n). Найти максимальный из всех минимальных элементов строк. Вывести номер строки, в которой расположено выбранное число. | ||
+ | |- | ||
+ | |<center>14</center>||Сформировать диагональную матрицу C(m,m). У диагональной матрицы все элементы равны нулю, кроме диагональных. | ||
+ | |||
+ | |} | ||
+ | |||
Таблица 20 | Таблица 20 |
Версия 13:10, 26 февраля 2008
Описание двумерного массива
Двумерный массив состоит из элементов с двумя индексами: один показывает номер строки в
массиве, другой - номер столбца.
В Delphi возможны массивы и большей размерности. Для их описания возможны два подхода:
а) массив рассматривается как массив других массивов:
type x = array[1..100] of real; y = array[1..2] of x;
б) массив рассматривается как многоиндексный
type y = array [ 1...100, 1...2 ] of real;
Оба описания равноценны.
Пример 1
- Условие.
Получить матрицу, элементами которой являются произведения номеров строк i и номеров столбцов j.
- Использованные компоненты:
StringGrid1 - для выврда результирующей таблицы
BitBtn1 - для запуска программы
BitBtn2 - для закрытия формы
- Программный код:
program umnog; type mat = array[1..9, 1..9] of integer; var i,j: integer; p: mat; begin for i:=1 to 9 do begin for j:=1 to 9 do begin p[i,j]:=i*j; write (p[i,j]: 3) end; writeln; end end.
- Форма с результатом работы программы.
Пример 2
- Условие.
Из матрицы А[3,4] получить вектор В, элементами которого являются наибольшие элементы столбцов матрицы.
- Использованные компоненты:
StringGrid1 - для вывода исходной матрицы
StringGrid2 - для вывода результирующего вектора
Label1 - для подписи матрицы
Label2 - для подписи вектора
BitBtn1 - для запуска программы
BitBtn2 - для закрытия формы
- Программный код:
type x = array[1..3, 1..4] of integer; y = array[1..4] of integer; var i, j: integer; a: x; b: y; begin writeln ('Введите матрицу А'); for i:=1 to 3 do begin for j:=1 to 4 do begin read(a[i,j]); write (' ') end; writeln end; writeln ('Массив В'); for j: = 1 to 4 do begin b[j]: = a[1,j]; for i: = 2 to 3 do if b[j] < a[i, j] then b[j]: = a[i, j]; write(b[j]:4) end end.
- Форма с результатом работы программы.
Задание
Номер варианта | Условие |
---|---|
Для данного целого положительного n создать матрицу A(n,n), в которой элементы, стоящие по диагонали, равны единице, а все остальные элементы - нулевые. | |
Для данного целого положительного n сформировать матрицу A(n,n), в которой элементы диагонали равны номеру строки, а все остальные элементы - нулевые. | |
В матрице A(n,n) поменять местами две строки с номерами р и q. | |
В матрице A(n,m) поэлементно вычесть последнюю строку из всех строк, кроме последней. | |
В матрице х(k,l) поменять местами максимальный и минимальный элементы. | |
Матрицу A(n,n) сформировать по следующему принципу: по диагонали расположены единицы, выше диагонали - нули, а элементы, расположенные ниже диагонали, равны сумме соответствующих индексов. | |
Задана матрица В(3,5). Получить матрицу V путем удаления из В строки и столбца, в которых содержится минимальный элемент. | |
Дана матрица A(m,n). Дополнить ее (m+1)-й строкой и (n+1)-м столбцом, в которых записать суммы элементов соответствующих строк или столбцов исходного массива А. | |
Транспонировать матрицу x(m,n). | |
Из матрицы А(3,4) получить вектор В, элементами которого являются произведения элементов в каждой строке матрицы. | |
Создать вектор М, содержащий количество отрицательных элементов каждого столбца матрицы z(3,4). | |
Сформировать матрицу У(n,n) таким образом, чтобы значения всех элементов 1-го столбца были равны 1, второго - 2, n-го - n. | |
Имеется матрица A(m,n). Найти максимальный из всех минимальных элементов строк. Вывести номер строки, в которой расположено выбранное число. | |
Сформировать диагональную матрицу C(m,m). У диагональной матрицы все элементы равны нулю, кроме диагональных. |
Таблица 20
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.