Вопрос задан 09.05.2019 в 11:30. Предмет Информатика. Спрашивает Морская Виктория.

Здравствуйте! Помогите пожалуйста написать программы с объяснением (PascalABC), ооочень нужно.. №1.

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кузнецов Роман.
1)
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
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

№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.

Надеюсь, эти программы помогут вам! Если у вас возникнут еще вопросы, не стесняйтесь задавать.

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос