Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание для практических работ-2.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
261.19 Кб
Скачать

Практическая работа № 8

Тема: Двумерные массивы

program primer5;

uses crt;

const n=5;

var a:array[1..n,1..n] of integer;i,j,s,s1,s2:integer;

begin

clrscr;

for i:=1 to n do

for j:=1 to n do read(a[i,j]);

s:=0; s1:=0; s2:=0;

for i:=1 to n do

for j:=1 to n do

begin

if i=j then s1:=s1+a[i,j] else if i+j=n+1 then s2:=s2+a[i,j];end;

s:=s+s1+s2; write('s=',s); end.

Задания к практической работе № 8

Составить блок-схему алгоритма и программу для решения задачи с использованием двумерных массивов. При программировании заданий предполагается использование различных операторов цикла для обработки массивов. Варианты заданий.

  1. Дан массив A[5,5]. Найти минимальный элемент среди элементов, расположенных в нечетных строках массива.

  2. Дан массив A[6,6]. Если среди элементов массива есть элемент, равный В то переменной Х присвоить значение, равное сумме положительных элементов, расположенных слева от этого элемента, иначе переменной Х присвоить 0.

  3. Дан массив A[5,5]. Построить массив В(5) по следующему правилу: В(J) присвоить максимальный элемент J - го столбца массива А.

  4. Дан массив A[7,7]. Найти произведение и количество четных положительных элементов, расположенных выше главной диагонали.

  5. Дан массив A[6,6]. Найти суммы положительных элементов строк и присвоить их элементам побочной диагонали соответствующих строк.

  6. Дан массив A[5,5]. Построить массив В(5) по следующему правилу: В(I) присвоить 1, если в I-той строке массива есть хотя бы один отрицательный элемент, в противном случае В(I) присвоить 0.

  7. Дан массив A[6,6]. Построить массив В(6) по следующему правилу: В(J) присвоить 1, если в J-ом столбце массива А количество ненулевых элементов больше количества нулевых элементов, в противном случае В(J) присвоить 0.

  8. Дан массив A[8,8]. Найти максимальный элемент среди элементов, расположенных выше побочной диагонали. Поменять местами элементы строки и столбца, на пересечении которых находится максимальный элемент.

  9. Дан массив A[7,7]. Построить массив В(7) по следующему правилу: В(I) присвоить 1, если в I-той строке массива представляют возрастающую последовательность, в противном случае В(I) присвоить 0.

  10. Дан массив A[6,6]. Построить массив В(6) по следующему правилу: В(1) присвоить количество нулевых элементов главной диагонали, В(2) присвоить количество нулевых элементов диагонали, расположенной выше и параллельно главной диагонали и т.д.

  11. Дан массив A[5,5]. Найти минимальную сумму положительных элементов диагоналей, параллельных побочной диагонали.

  12. Дан массив A[6,6]. В каждой строке найти максимальный элемент, в каждом столбце найти минимальный элемент. Найденные элементы соответствующей строки и столбца поменять местами.

  13. Дан массив A[7,7]. Упорядочить элементы массива построчно по возрастанию.

  14. Дан массив A[6,6]. Найти максимальный среди элементов, повторившихся более одного раза.

  15. Дан массив A[8,8]. Найти количество локальных максимумов массива.

  16. Дан массив A[7,7]. Найти количество столбцов, составленных из попарно различных элементов.

  17. Дан массив A[8,8]. Найти минимальный элемент среди элементов строк, упорядоченных либо по возрастанию, либо по убыванию.

  18. Дан массив A[7,7]. Вывести строки массива по убыванию максимальных элементов строк массива.

  19. Дан массив A[8,8]. Найти максимальное произведение ненулевых элементов диагоналей, параллельных главной диагонали.

  20. Дана матрица A[7,7]. Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей.

  21. Дана матрица А[5,4]. Поменять местами столбцы, содержащие наибольший и наименьший элементы.

  22. Дана матрица А[3,6]. Условно разбить матрицу А на 2 блока по три столбца, сформировать новую матрицу В[3,6], переставив блоки исходной матрицы.

  23. Дана матрица А[8,4]. Условно разбить матрицу А на 2 блока по четыре строки, сформировать новую матрицу В[8,4], переставив блоки исходной матрицы.

  24. Дан массив А[4,5]. Найти сумму положительных элементов первой строки. Получить новый массив, заменяя отрицательные элементы исходного массива на полученную сумму. Если отрицательных элементов нет, то оставить массив без изменения.

  25. Дан массив А[7,4]. Найти сумму элементов, стоящих в нечетных строках. Сформировать новый массив путем замены всех элементов нечетных строк на полученную сумму.

  26. Дан массив А[5,6]. Найти минимальный элемент и его порядковый номер среди элементов, находящихся в четных столбцах. Сформировать новый массив путем замены этого элемента на его квадрат.

  27. Дан массив А[4,8]. Получить новый массив путем возведения в квадрат отрицательных элементов массива и делением на два всех четных элементов исходного массива, больших 10. Поментять местами столбцы: первый – с последним, второй – с предпоследним и т.д.

  28. Дан массив А[6,4]. Найти сумму максимальных элементов каждой сторки. Сформировать новый массив путем замены максимального элемента каждой строки на полученную сумму.

  29. Дан массив А[7,5]. Упорядочить по возрастанию элементы каждой строки массива, заменить элементы, находящиеся в четных строках на их удвоенные значения, а элементы, находящиеся в нечетных строках обнулить.

  30. Дан массив А[5,6]. Найти среднее арифметическое значение для каждого столбца. Из полученных значений получить новый массив В(6).

Основная литература: 1 [104-107], 4 [8-14]

Дополнительная литература: 6 [73-80], 7 [227-265]

Контрольные вопросы:

  1. Сколько операторов цикла необходимо для реализации сортировки двухмерного массива построчно?

  2. Сколько операторов цикла необходимо для реализации сортировки двухмерного массива по столбцам?

  3. Сколько операторов цикла необходимо для вывода двухмерного массива построчно на экран монитора?