В каждом слове строки найти номера первой и последней запятой и сформировать массив из разностей этих номеров - PascalABC.NET

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

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

Здравствуйте, помогите пожалуйста, для вас задание скорее всего будет очень легким, но я толком не знаком с программированием и не знаю как это сделать Само задание выглядит так: Дана строка символов. Группы символов, разделенные одним или несколькими пробелами и не содержащие пробелов внутри себя, будем называть словами. В каждом слове найти номера первой и последней по порядку запятой и записать в вектор разность между этими номерами.

Решение задачи: «В каждом слове строки найти номера первой и последней запятой и сформировать массив из разностей этих номеров»

textual
Листинг программы
var
  s, l: string;
  i, min, max: integer;
 
begin
  readln(s);
  s := s + ' ';
  while s <> '' do 
  begin
    max := 10000000;
    min := 0;
    for i := 1 to pos(' ', s) do
    begin
      l := copy(s, i, 1);
      if (l = ',') and (i < max) then
        max := i;
      if (l = ',') and (i > min) then
        min := i;
    end;
    delete(s, 1, pos(' ', s));
    if (max - min) <> 10000000 then
      writeln(max - min);
  end;
end.

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

  1. Переменная s используется для хранения строки, которую необходимо проанализировать.
  2. Переменная l используется для временного хранения символа, который проверяется на равенство запятой.
  3. Переменная i используется для перебора всех символов в строке.
  4. Переменная min используется для хранения минимального индекса запятой в строке.
  5. Переменная max используется для хранения максимального индекса запятой в строке.
  6. В цикле while считывается строка и добавляется пробел в конец строки.
  7. В цикле for перебираются все символы в строке, начиная с первого и до последнего пробела.
  8. Для каждого символа проверяется, является ли он запятой.
  9. Если символ является запятой и его индекс меньше максимального, то обновляется значение переменной max.
  10. Если символ является запятой и его индекс больше минимального, то обновляется значение переменной min.
  11. После цикла for удаляется первый пробел из строки.
  12. Если разница между максимальным и минимальным индексами не равна 1, то выводится значение этой разницы.
  13. Цикл while повторяется до тех пор, пока строка не станет пустой.

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


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

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

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