• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

что такое F (turbo Pascal)

  • Автор темы spezzA
  • Дата начала
S

spezzA

В тексте все слова, начинающиеся с гласной буквы, переписать в обратном порядке.
Из слов с нечетным количеством букв удалить среднюю букву. Определить количество предложений в тексте.


объясните пожалуйста что такое f и как она работает в задаче.

Код:
uses
crt;
var
text: string;
delim: set of char;
glas: set of char;
SenDelim: set of char;

i, j: integer;
f: boolean;

start: integer;
kol: integer;

c: char;

sentence: integer;
begin
clrscr;
SenDelim:= ['.', '!', '?'];
delim:= [',', ' ', '"', ':', '-', '_']+SenDelim;
glas:= ['A', 'E', 'Y', 'U', 'I', 'O', 'a', 'e', 'y', 'u', 'i', 'o'];

writeln('Vvedite text:');
readln(text);

writeln(text);
writeln;

text:= text+'.';

f:= false;
sentence:= 0;
start:= 0;
kol:= 0;
i:= 1;

while i<= length(text) do
begin
if text[i] in SenDelim then
sentence:= sentence+1;
if not (text[i] in delim) then
begin
if f then
begin
kol:= kol+1;
end else
begin
kol:= 1;
start:= i;
f:= true;
end;

end else
begin
if f then
begin
f:= false;

if text[start] in glas then
begin
for j:= start to (kol+2*start)div 2 -1 do
begin
c:= text[j];
text[j]:= text[2*start+kol-j-1];
text[2*start+kol-j-1]:= c;
end;
end;

if odd(kol) then
begin
delete(text, (kol+2*start) div 2, 1);
i:= i-1;
end;


end;
end;
i:= i+1;
end;

delete(text, length(text), 1);

writeln('Kol-vo predlojeni: ', sentence);

writeln(text);


readkey;
end.
 
N

nayke

В тексте все слова, начинающиеся с гласной буквы, переписать в обратном порядке.
Из слов с нечетным количеством букв удалить среднюю букву. Определить количество предложений в тексте.


объясните пожалуйста что такое f и как она работает в задаче.

Насколько я понимаю F указывает на начало нового слова, после нахождения разделителя выставляется в true после обработки первой буквы в false - в итоге буквы не являющиеся первыми в слове на гласность не проверяются. Вроде так.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!