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

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

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

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

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

textual
Листинг программы
  1. var
  2.   s, l: string;
  3.   i, min, max: integer;
  4.  
  5. begin
  6.   readln(s);
  7.   s := s + ' ';
  8.   while s <> '' do
  9.   begin
  10.     max := 10000000;
  11.     min := 0;
  12.     for i := 1 to pos(' ', s) do
  13.     begin
  14.       l := copy(s, i, 1);
  15.       if (l = ',') and (i < max) then
  16.         max := i;
  17.       if (l = ',') and (i > min) then
  18.         min := i;
  19.     end;
  20.     delete(s, 1, pos(' ', s));
  21.     if (max - min) <> 10000000 then
  22.       writeln(max - min);
  23.   end;
  24. 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

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

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

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