
Здравствуйте! Помогите пожалуйста написать программы с объяснением (PascalABC), ооочень нужно.. №1.
Дан целочисленный двумерный массив, размерности NхM. Выяснить в какой строке последовательность является возрастающей или убывающей. №2. Дан целочисленный двумерный массив, размерности NхM. Вывести его элементы, индексы которых являются степенями двойки (1, 2, 4, 8, 16, ...). №3. Дан целочисленный двумерный массив, размерности NхM. Найти количество элементов кратных 7.

Ответы на вопрос

const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j:integer;
b1,b2:boolean;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
begin
b1:=true; b2:=true;
for j:=2 to m do
begin
if a[i,j-1]>=a[i,j] then b1:=false;
if a[i,j-1]<=a[i,j] then b2:=false;
end;
if b1 then writeln('В(о) ',i,' строке последовательность возрастающая');
if b2 then writeln('В(о) ',i,' строке последовательность убывающая');
end;
end.
Пример:
Исходный массив:
59 91 71 89
89 65 40 31
51 62 97 61
88 25 87 11
8 9 12 80
В(о) 2 строке последовательность убывающая
В(о) 5 строке последовательность возрастающая
2)
В постановке задачи есть неопределенность. Какой (какие) индекс (ы) должен быть степенью двойки - хотя бы один или оба?
3)
const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j,k:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
k:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j] mod 7 = 0 then k:=k+1;
writeln('k = ',k);
end.
Пример:
Исходный массив:
63 19 86 92
23 9 62 3
89 56 54 46
77 89 70 41
60 1 63 82
k = 5



№1. Дан целочисленный двумерный массив, размерности NхM. Выяснить в какой строке последовательность является возрастающей или убывающей.
Для решения этой задачи, мы можем пройти по каждой строке массива и проверить, является ли последовательность элементов в этой строке возрастающей или убывающей. Для этого, мы будем сравнивать каждый элемент с предыдущим элементом в строке.
Вот пример программы на PascalABC, которая решает эту задачу:
```pascal program CheckSequence; const N = 3; // количество строк в массиве M = 4; // количество столбцов в массиве var arr: array[1..N, 1..M] of Integer; // объявление двумерного массива i, j: Integer; // переменные для циклов increasing, decreasing: Boolean; // флаги для проверки возрастающей и убывающей последовательности begin // Ввод элементов массива for i := 1 to N do begin for j := 1 to M do begin Write('Введите элемент arr[', i, ',', j, ']: '); ReadLn(arr[i, j]); end; end;
// Проверка последовательности в каждой строке for i := 1 to N do begin increasing := True; // предполагаем, что последовательность возрастающая decreasing := True; // предполагаем, что последовательность убывающая
for j := 2 to M do begin if arr[i, j] <= arr[i, j-1] then increasing := False; // последовательность не возрастающая if arr[i, j] >= arr[i, j-1] then decreasing := False; // последовательность не убывающая end;
// Вывод результата if increasing then WriteLn('Строка ', i, ' является возрастающей.') else if decreasing then WriteLn('Строка ', i, ' является убывающей.') else WriteLn('Строка ', i, ' не является ни возрастающей, ни убывающей.'); end; end. ```
В этой программе мы сначала вводим элементы двумерного массива `arr`. Затем мы проходим по каждой строке массива и проверяем, является ли последовательность элементов в этой строке возрастающей или убывающей. Если последовательность является возрастающей, выводим сообщение "Строка i является возрастающей". Если последовательность является убывающей, выводим сообщение "Строка i является убывающей". Если последовательность не является ни возрастающей, ни убывающей, выводим сообщение "Строка i не является ни возрастающей, ни убывающей".
№2. Дан целочисленный двумерный массив, размерности NхM. Вывести его элементы, индексы которых являются степенями двойки (1, 2, 4, 8, 16, ...).
Для решения этой задачи, мы можем пройти по каждому элементу массива и проверить, является ли его индекс степенью двойки. Если индекс является степенью двойки, мы выводим значение этого элемента.
Вот пример программы на PascalABC, которая решает эту задачу:
```pascal program PowerOfTwo; const N = 3; // количество строк в массиве M = 4; // количество столбцов в массиве var arr: array[1..N, 1..M] of Integer; // объявление двумерного массива i, j: Integer; // переменные для циклов begin // Ввод элементов массива for i := 1 to N do begin for j := 1 to M do begin Write('Введите элемент arr[', i, ',', j, ']: '); ReadLn(arr[i, j]); end; end;
// Вывод элементов, индексы которых являются степенями двойки for i := 1 to N do begin for j := 1 to M do begin if (i and (i - 1) = 0) and (j and (j - 1) = 0) then WriteLn('arr[', i, ',', j, '] = ', arr[i, j]); end; end; end. ```
В этой программе мы сначала вводим элементы двумерного массива `arr`. Затем мы проходим по каждому элементу массива и проверяем, является ли его индекс степенью двойки. Если индекс является степенью двойки, мы выводим значение этого элемента.
№3. Дан целочисленный двумерный массив, размерности NхM. Найти количество элементов, кратных 7.
Для решения этой задачи, мы можем пройти по каждому элементу массива и проверить, делится ли его значение на 7 без остатка. Если значение элемента делится на 7 без остатка, мы увеличиваем счетчик.
Вот пример программы на PascalABC, которая решает эту задачу:
```pascal program CountMultiplesOfSeven; const N = 3; // количество строк в массиве M = 4; // количество столбцов в массиве var arr: array[1..N, 1..M] of Integer; // объявление двумерного массива i, j, count: Integer; // переменные для циклов и счетчик begin // Ввод элементов массива for i := 1 to N do begin for j := 1 to M do begin Write('Введите элемент arr[', i, ',', j, ']: '); ReadLn(arr[i, j]); end; end;
// Подсчет элементов, кратных 7 count := 0; // инициализация счетчика
for i := 1 to N do begin for j := 1 to M do begin if arr[i, j] mod 7 = 0 then count := count + 1; end; end;
// Вывод результата WriteLn('Количество элементов, кратных 7: ', count); end. ```
В этой программе мы сначала вводим элементы двумерного массива `arr`. Затем мы проходим по каждому элементу массива и проверяем, делится ли его значение на 7 без остатка. Если значение элемента делится на 7 без остатка, мы увеличиваем счетчик `count`. В конце программы, мы выводим значение счетчика, которое представляет количество элементов, кратных 7.
Надеюсь, эти программы помогут вам! Если у вас возникнут еще вопросы, не стесняйтесь задавать.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili