Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 22:00   #1
rusfin01
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 25
Печаль Pascal Stringi.

Ввести текст и определить количество символов от первой заданной буквы до последней такой же буквы в тексте. Определить, находится ли в этом промежутке слово минимальной длины и если находится, то удалить его из текста. Если заданной буквы в тексте нет или она не повторяется, то сообщить об этом.
rusfin01 вне форума Ответить с цитированием
Старый 28.12.2010, 02:49   #2
rusfin01
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 25
По умолчанию

Код:
uses
        crt;
var
        a: array[1..100] of string;{massiv slov}
        p: array[1..100] of integer; {massiv posicii slov}
        len: integer; {kolichestvo slov}
        i: integer;
        text: string; {text}
        c: char; {vvedenni simvol}
        k1, k2: integer; {1-ya i poslednya positicii symvola}
        m: set of char; {mnojestvo symvolov iz kotorih sostoyat slova}
        t: boolean; {zapisivaesya slovo ili net}
        str: string; {slovo}
        min: integer; {index minimalnogo slova}
begin
        clrscr;

        m:= ['А'..'Я', 'а'..'я', '0'..'9', '*'];
        readln(text);
        write('Vvedite bukvu: ');
        readln(c);
        text:= ' '+text+' ';

        t:= false;
        str:= '';
        len:= 0;
        for i:= 1 to length(text) do {probegaem po vsei stroke}
        begin
                if t then
                begin
                        if text[i] in m then
                                str:= str+text[i]
                        else
                        begin
                                t:= false;
                                len:= len+1;
                                a[len]:= str;
                                str:= '';
                        end;
                end else
                begin
                        if text[i] in m then
                        begin
                                t:= true;
                                str:= str+text[i];
                                p[len+1]:= i;
                        end;
                end;
        end;

        k1:= 0;
        k2:= 0;
        for i:= 1 to length(text) do{nahodim 1-i simvol}
                if text[i]=c then
                begin
                        k1:= i;
                        break;
                end;

        for i:= length(text) downto 1 do {nahodim posledni simvol}
                if text[i]=c then
                begin
                        k2:= i;
                        break;
                end;

        if k1=0 then
        begin
                writeln('Takoi bukvi net');
                readkey;
                exit;
        end;
        if k1=k2 then
        begin
                writeln('Bukva vstrechaetsya 1 raz');
                readkey;
                exit;
        end;

        writeln('Kol-vo: ', k2-k1+1);

        min:= 1;
        for i:= 2 to len do {nahodim minimalni}
        begin
                if length(a[min])>length(a[i]) then
                        min:= i;
        end;

        if (p[min]>=k1) and (p[min]+length(a[min])<=k2) then
        begin
                writeln('EST');
                delete(text, p[min], length(a[min]));
                delete(text, 1, 1);
                writeln(text);
        end else
                writeln('NET');

        readkey;
end.
вот) может как-нить упростить, попроще сделать??


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 28.12.2010 в 09:01.
rusfin01 вне форума Ответить с цитированием
Старый 28.12.2010, 09:28   #3
rusfin01
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 25
По умолчанию

Хорошо!!! может теперь кто нить поможет??
rusfin01 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
по Pascal!!! Izymka Помощь студентам 7 24.05.2010 17:03
Turbo Pascal or Pascal ABC Ikram Паскаль, Turbo Pascal, PascalABC.NET 0 27.04.2010 13:44
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28
Перевод кода из Pascal в Object Pascal zemskov77 Общие вопросы Delphi 1 03.01.2009 09:37