Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с текстом. ротор, казак, наган... ротор, казак, наган... 
:(
    Опции темы
lacrack
Дата 3.5.2006, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Дан фай, в нем через ; написаны слова, и нужно вывести типа казак, наган, ротор, если они там есть.
Тут я не могу понять как быть с пробелам: ведь кто-то может до и после понаставить пробелов. А также меня разочаровывает неправильное прочтение вин кодировки, прочитывается, как "ххъърррхъ ёеъхх". Или же паскаль работает только с 866 кодировкой и мне дожны предоставить текстовый файл только в этом формате? 

Спасибо. 
PM MAIL   Вверх
sergejzr
Дата 3.5.2006, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Такие выражения зовуться палиндромами. Насчёт пробелов - смотри условия задачи. По кодировке - создавай отдельную тему, потоиу что по правилам нашего форума:
Модератор: Пожалуйста, один топик - один вопрос. 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
lacrack
Дата 4.5.2006, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



прогу написал, вроде стабильная кому может пригодится.

Код

uses crt;
var S:text;
a:char;
tmp,b:string;
flag2,flag,l,i,j,n,c:integer;
begin
clrscr;
assign(S, 'input.txt');
reset(S);
b:='';
tmp:='';
writeln('‘Слова и фразы палиндромы:');
writeln;
writeln;
  c:=0;

while not EOF(S) do
 begin
  read(S,a);
  n:=0;
  if (a<>';') and (a<>'.') then
  begin
    b:=b+a;
     if a<>' ' then tmp:=tmp+a;
  end;

  if (a=';') or (a='.') then

      begin
           l:=length(tmp);

           for i:=l downto 1 do
                    if tmp[i] = tmp[l-i+1] then
                       inc(n);

           if n=l then
              begin
                 inc©;
                 write©;
                 write('- ');
                 writeln(b);
              end;

           b:='';
           tmp:='';
      end;

 end;
 close(S);
 writeln;
 writeln;

 if c=0 then writeln('не найдено...');

 writeln;
 writeln;
 writeln('Нажмите enter...');
 readln;
end. 
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0922 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.