В каждом слове строки найти номера первой и последней запятой и сформировать массив из разностей этих номеров - 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.
Объяснение кода листинга программы
- Переменная
s
используется для хранения строки, которую необходимо проанализировать. - Переменная
l
используется для временного хранения символа, который проверяется на равенство запятой. - Переменная
i
используется для перебора всех символов в строке. - Переменная
min
используется для хранения минимального индекса запятой в строке. - Переменная
max
используется для хранения максимального индекса запятой в строке. - В цикле while считывается строка и добавляется пробел в конец строки.
- В цикле for перебираются все символы в строке, начиная с первого и до последнего пробела.
- Для каждого символа проверяется, является ли он запятой.
- Если символ является запятой и его индекс меньше максимального, то обновляется значение переменной
max
. - Если символ является запятой и его индекс больше минимального, то обновляется значение переменной
min
. - После цикла for удаляется первый пробел из строки.
- Если разница между максимальным и минимальным индексами не равна 1, то выводится значение этой разницы.
- Цикл while повторяется до тех пор, пока строка не станет пустой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д