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

Тема в разделе "Pascal and Delphi", создана пользователем spezzA, 13 июн 2011.

  1. spezzA

    spezzA Гость

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


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

    Код (Delphi):
    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.
     
  2. nayke

    nayke Well-Known Member

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

Поделиться этой страницей