В матрице указать строку, содержащую минимальный элемент, оканчивающийся на цифру k - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Пожалуйста помогите решить задачу. В прямоугольной таблице указать строку, содержащую минимальный элемент, оканчивающийся на цифру k.

Решение задачи: «В матрице указать строку, содержащую минимальный элемент, оканчивающийся на цифру k»

textual
Листинг программы
  1. procedure OutTable(T : array [,] of Integer);
  2. begin
  3.   var D := 1;
  4.   for var Row := 0 to T.GetLength(0)-1 do
  5.     for var Col := 0 to T.GetLength(1)-1 do
  6.       D := max(D, T[Row, Col].ToString.Length);
  7.   D += 1;
  8.   for var Row := 0 to T.GetLength(0)-1 do
  9.     begin
  10.       for var Col := 0 to T.GetLength(1)-1 do
  11.         Write(T[Row, Col]:D);
  12.       WriteLn;
  13.     end;
  14. end;
  15.  
  16. begin
  17.   var Rows := ReadLnInteger('  Строк в таблице =');
  18.   var Cols := ReadLnInteger('Колонок в таблице =');
  19.  
  20.   var T : array [,] of Integer;
  21.   SetLength(T, Rows, Cols);
  22.   Randomize;
  23.   for var Row := 0 to Rows-1 do
  24.     for var Col := 0 to Cols-1 do
  25.       T[Row, Col] := Random(0, 999);
  26.   WriteLn('Таблица заполнена случайными числами от 0 до 999:');
  27.   OutTable(T);
  28.  
  29.   var K := ReadLnInteger('Введите цифру (0..9)= ');
  30.   if Not(K in [0..9]) then Halt;
  31.  
  32.   var minVal := 1000 + K;
  33.   var minRow := 0;
  34.   var minCol := 0;
  35.   for var Row := 0 to Rows-1 do
  36.     for var Col := 0 to Cols-1 do
  37.       if (T[Row, Col] mod 10 = K) and (minVal > T[Row, Col]) then
  38.         begin
  39.           minVal := T[Row, Col];
  40.           minRow := Row;
  41.           minCol := Col;
  42.         end;
  43.   Write('Строка, содержащая минимальный элемент,', NewLine, ' оканчивающийся на ', K);
  44.   if minVal = 1000 + K then
  45.     WriteLn(' в таблице не найдена.')
  46.   else
  47.     WriteLn(' находится в строке ', minRow+1);
  48. end.

Объяснение кода листинга программы

  1. Входные данные: массив T, представляющий собой таблицу чисел, заполненную случайными значениями от 0 до 999.
  2. Выходные данные: таблица, в которой все числа записаны с добавленным к их длине единичным сдвигом, для обеспечения уникальности записи чисел, оканчивающихся на конкретную цифру k.
  3. После заполнения таблицы и вывода её на экран, программа запрашивает у пользователя цифру k от 0 до 9.
  4. Переменная minVal инициализируется значением 1000 + k.
  5. Переменные minRow и minCol инициализируются нулевыми значениями.
  6. Циклом перебираются все строки и столбцы таблицы.
  7. Если элемент в текущей строке и столбце является кратным 10 равным k и его значение меньше minVal, то minVal, minRow и minCol обновляются соответственно.
  8. Если minVal равно 1000 + k, то выводится сообщение о том, что строка, содержащая минимальный элемент, оканчивающийся на k, в таблице не найдена.
  9. В противном случае выводится сообщение о том, что строка, содержащая минимальный элемент, оканчивающаяся на k, находится в строке minRow+1.

ИИ поможет Вам:


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

Оцени полезность:

5   голосов , оценка 4.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы