
С клавиатуры вводится матрица вещественных чисел размером N строк на M столбцов. N не превосходит
10, M не превосходит 20. Найти и вывести первый по модулю меньший Z (вводится с клавиатуры) элемент и его координаты. Если элементов, удовлетворяющих условию нет, вывести соответствующее сообщение. решить кумир/паскаль

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

// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',n,',',m,'] ***');
var a:=ReadMatrInteger(n,m);
var z:=ReadInteger('Z=');
var s:=a.ElementsWithIndexes.Where(x->abs(x[2])<=z);
if s.Count>0 then begin
var t:=s.First;
Writeln('Строка ',t[0]+1,', столбец ',t[1]+1)
end
else
Writeln('Элемент не найден');
end.
Пример
Количество строк в матрице: 4
Количество столбцов в матрице: 5
*** Исходная матрица [4,5] ***
-33 -46 7 48 -44
-13 -3 -13 -10 48
-18 -25 -39 -23 -44
28 32 -1 39 3
Z= 5
Строка 2, столбец 2



Для решения данной задачи, вам потребуется ввести матрицу вещественных чисел с клавиатуры размером N строк на M столбцов, где N не превосходит 10, а M не превосходит 20. Затем вам нужно найти и вывести первый по модулю меньший элемент Z (введенный с клавиатуры) и его координаты. Если элементов, удовлетворяющих условию, нет, то нужно вывести соответствующее сообщение.
Алгоритм решения:
1. Введите матрицу вещественных чисел с клавиатуры. 2. Инициализируйте переменную `minElement` значением, большим чем Z. 3. Инициализируйте переменные `minRow` и `minColumn` значением -1. 4. Проходите по каждому элементу матрицы и проверяйте, является ли он меньше Z и по модулю меньше текущего значения `minElement`. Если это так, обновите `minElement`, `minRow` и `minColumn`. 5. Если `minRow` и `minColumn` остались равными -1, то выводите сообщение о том, что элементов, удовлетворяющих условию, нет. В противном случае, выводите найденный элемент и его координаты.Пример решения на языке Python:
```python N = int(input("Введите количество строк: ")) M = int(input("Введите количество столбцов: "))matrix = [] for i in range(N): row = [] for j in range(M): element = float(input(f"Введите элемент [{i}][{j}]: ")) row.append(element) matrix.append(row)
Z = float(input("Введите значение Z: "))
minElement = float("inf") minRow = -1 minColumn = -1
for i in range(N): for j in range(M): if matrix[i][j] < Z and abs(matrix[i][j]) < abs(minElement): minElement = matrix[i][j] minRow = i minColumn = j
if minRow == -1 and minColumn == -1: print("Элементов, удовлетворяющих условию, нет") else: print(f"Первый по модулю меньший элемент: {minElement}") print(f"Координаты элемента: [{minRow}][{minColumn}]") ```
Пожалуйста, обратите внимание, что данный пример решения представлен на языке Python. Вы можете использовать его в качестве основы для решения задачи на другом языке программирования, таком как Кумир или Паскаль.


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