Определить номер первой по порядку строки, содержащей наибольшее число цифр - Pascal

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

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

Дана квадратная символьная матрица порядка n. Определить номер первой по порядку строки, содержащей наибольшее число цифр.

Решение задачи: «Определить номер первой по порядку строки, содержащей наибольшее число цифр»

textual
Листинг программы
const
    Numbs: Set Of Char = ['0'..'9'];
var
    max, maxId, n, i, j, curr: Byte;
    ar: Array[Byte, Byte] Of Char;
begin
    repeat
        Write('Input n(>0)=');
        ReadLn(n);
    until (n > 0);
    Randomize(); maxId := 0; max := 0;
    for i := 0 to n - 1 do
    begin
        curr := 0;
        for j := 0 to n - 1 do
        begin
            ar[i, j] := Chr(Random(78) + 48);
            Write(' ', ar[i, j]);
            if (ar[i, j] in Numbs)
            then
                Inc(curr);
        end;
        if (curr > max)
        then
        begin
            max := curr;
            maxId := i;
        end;
        WriteLn;
    end;
    WriteLn;
    if (max = 0)
    then
        Write('Cannot found any number in array!')
    else
        Write('max id: ', maxId + 1);
end.

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

Этот код написан на языке Pascal и выполняет следующую задачу: определяет номер первой строки в массиве, содержащей наибольшее количество цифр. Переменные в коде объявлены следующим образом:

  • Numbs - множество символов, представляющих цифры от 0 до 9.
  • max, maxId, n, i, j, curr - байтовые переменные, которые используются для хранения текущего максимума, идентификатора текущего максимума, количества строк, текущей строки, индексов строки и текущего символа строки соответственно.
  • ar - массив байтовых значений, который содержит строки. Код начинается с повторения, которое продолжается до тех пор, пока n (количество строк) больше 0. В этом цикле пользователь вводит количество строк, которое он хочет найти. Затем код случайным образом генерирует максимальное значение для каждой строки и инициализирует переменные max и maxId нулевыми значениями. Затем следует цикл for, который проходит по каждой строке в массиве ar. Внутри этого цикла каждая строка состоит из символов, которые случайно генерируются и записываются в массив ar. Если сгенерированный символ принадлежит множеству Numbs (т.е. является цифрой от 0 до 9), то увеличивается счетчик curr. Если в процессе прохода по всем строкам максимальное значение curr больше текущего максимального значения max, то max обновляется на значение curr, а maxId обновляется на соответствующий индекс i. В конце кода выводится сообщение, если максимальное значение равно 0 (что означает, что ни одна строка не содержит цифр). В противном случае выводится сообщение с номером строки, содержащей максимальное количество цифр.

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


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

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

11   голосов , оценка 4.273 из 5
Похожие ответы