Определить номер последней строки, содержащей наименьшее число знаков «+» и «-» - Pascal ABC

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

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

Выполнить задание для квадратной символьной матрицы порядка n.Определить номер последней строки, содержащей наименьшее число знаков «+» и «-». Пожалуйста, помогите!

Решение задачи: «Определить номер последней строки, содержащей наименьшее число знаков «+» и «-»»

textual
Листинг программы
program testprg;
 
var i, j, n, iMinVal, iMinTmp, iMinStrNum: integer;
var a: array[0..99, 0..99] of char;
 
begin
// Инициализация массива
   Writeln('Введите размерность массива:');
   Read(n);
   Randomize;
   Writeln('Сформированный массив:');
   for i:=1 to n do
   begin
        for j:=1 to n do
        begin
             if Random(10) < 2 then a[i,j] := '-'
             else if Random(10) < 4 then a[i,j] := '+'
             else a[i,j] := 'q';
             Write(a[i,j]:5);
        end;
        Writeln('');
   end;
 
   // Анализ массива
   iMinVal := n;
   for i:=1 to n do
   begin
        iMinTmp := n;
        for j:=1 to n do
        begin
             if (a[i,j] = '-') or (a[i,j] = '+') then iMinTmp := iMinTmp - 1;
        end;
        if iMinTmp = (n+1) then iMinVal := 0;
        if iMinTmp <= iMinVal then
        begin
             iMinVal := iMinTmp;
             iMinStrNum := i
        end
   end;
 
   // Вывод результата
   Writeln('Минимальное количество символов "+" и "-" (', iMinVal , ') содержится в строке №', iMinStrNum, ')');
 
end.

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

  1. В программе объявлены переменные: i, j, n, iMinVal, iMinTmp, iMinStrNum, которые будут использоваться для решения задачи.
  2. Создается массив a размером n x n, в котором случайным образом заполняются символы '+', '-' и 'q'.
  3. Задается начальное значение iMinVal равное n, которое будет использоваться для поиска минимального значения среди всех строк массива.
  4. Запускается цикл анализа массива. В каждой итерации цикла происходит следующее:
    • iMinTmp устанавливается равным n.
    • Для каждой строки массива выполняется следующий блок кода:
      • Если текущий символ строки равен '-' или '+', то iMinTmp уменьшается на 1.
      • Если после выполнения всех проверок iMinTmp меньше или равно iMinVal, то iMinVal устанавливается равным iMinTmp.
    • Если после выполнения всех проверок iMinTmp меньше или равно iMinVal, то iMinVal устанавливается равным iMinTmp.
  5. После завершения цикла анализа массива выводится результат: номер строки, содержащей минимальное количество символов '+', '-' и 'q'.
  6. Программа завершается.

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


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

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

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