В каждом слове строки найти номера первой и последней запятой и сформировать массив из разностей этих номеров - 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 повторяется до тех пор, пока строка не станет пустой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д