Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Турбо Паскаль (паскалер).doc
Скачиваний:
19
Добавлен:
03.05.2019
Размер:
2.65 Mб
Скачать

Изменение значений некоторых элементов, удовлетворяющих заданному свойству

Задача. В массиве размерностью NxM к элементам четных столбцов прибавить элемент первого столбца соответствующей строки.

Procedure Izmenenie1(Var X : MyArray2; n, m : integer);

Var

i, j : integer;

Begin

for i := 1 to n do

for j := 1 to m div 2 do

Inc(X[i, 2*j], X[i, 1]);

End;

Вопрос. Какой смысл вложен в оператор цикла for j := 1 to m div 2 do?

Задача. Заменить все отрицательные элементы на противоположные.

Procedure Izmenenie2(Var X : MyArray2; n, m : integer);

Var

i, j : integer;

Begin

for i := 1 to n do

for j := 1 to m do

X[i, j] := Abs(X[i, j]);

End;

Заполнение массива по правилу

Задача. Заполнить массив А размером NxM "змейкой" следующим образом:

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

Для того, чтобы заполнить, надо вывести правило заполнения, а оно в данном случае будет таким:

если ряд нечетный, то A[i, j]=(i-1)*m+j;

если ряд четный, то A[i, j]=i*m-j+1.

По этому правилу и составляем процедуру заполнения:

Procedure FillArray(Var X : MyArray2; n, m : integer);

Var

i, j : integer;

Begin

for i := 1 to n do

for j := 1 to m do

if i mod 2 =1

then

A[i, j]=(i-1)*m+j

else

X[i, j]=i*m-j+1;

End;

Задание. Вставьте в программу-шаблон рассмотренные подпрограммы и организуйте выбор одной из них через меню. Дополните подпрограммы, не содержащие пояснений, соответствующими комментариями. Сохраните файл на дискете. Листинг сдайте учителю для проверки.

Задачи для самостоятельного решения

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

1. Найти сумму и количество элементов с заданным условием (хранить эти значения в массивах):

  1. элементы каждого столбца, кратные k1 или k2;

  2. элементы каждого столбца, попадающие в промежуток [А..В];

  3. элементы каждого столбца, которые являются простыми числами;

  4. элементы каждого столбца положительны и лежат выше главной диагонали;

  5. отрицательные элементы каждого столбца, меньшие заданного числа а;

  6. элементы каждого столбца, меньшие среднего арифметического элементов каждого столбца;

  7. элементы каждой строки, больших среднего арифметического элементов данной строки;

  8. максимальные элементы каждой строки;

  9. отрицательные элементы каждой строки;

  10. элементы каждой строки, равные сумме соседних с ним элементов;

  11. элементы каждой строки, равные элементу в том же столбце, но в предыдущей строке.

2. Найти и вывести на экран индексы заданных элементов массива (если их нет выдать соответствующее сообщение):

  1. четных элементов каждой строки и нечетных элементов каждого столбца;

  2. симметричных чисел;

  3. первых k отрицательных элементов каждого столбца;

  4. последних k отрицательных элементов каждой строки;

  5. последних k отрицательных элементов каждого столбца;

  6. равных между собой элементов каждого столбца;

  7. элементов, являющимися действительными числами;

  8. элементов, являющихся трехзначными числами;

  9. элементов, не имеющих целой части;

  10. элементов, являющихся числами, сумма цифр которых равна заданному числу;

  11. элементов, являющихся числами, первая цифра которых равна заданной.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]