Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 13.06.2008, 09:19   #1
щдуп
 
Регистрация: 16.05.2008
Сообщений: 6
По умолчанию помогите здать экзамен!!!

ввести набор слов и вывести те слова, которые симметричны относительно середине.Вот я тут че смог сделал,а как выводить из текста не знаю. ВОт прога. помогите!!!
var s:string;
i,k:integer;
begin clrscr;
writeln('vvedite tekst');
readln(s);
k:=0;
for i:=1 to trunc(length(s)/3) do
if s[i]<>s[length(s)+1-i] then k:=1;
if k=1 then writeln('slovo ',s, 'ne podhodit')
else writeln('slovo ',s, 'podhodit');
readkey;
end.
щдуп вне форума Ответить с цитированием
Старый 13.06.2008, 09:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
как выводить из текста не знаю
Выводить это write(ln)... я только не понял из какого текста.
Stilet вне форума Ответить с цитированием
Старый 13.06.2008, 10:39   #3
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

я бы сделал так:
Код:
program stroka;
var
  i,j:integer;
  st,stn,stnr:string;
begin
  write('Vvedite stroky: ');
  readln(st);
  st:=st+' ';
  for i:=1 to length(st) do
    if st[i]<>' ' then stn:=stn+st[i]
  else
    begin
      for j:=length(stn) downto 1 do
        stnr:=stnr+stn[j];
      if stn=stnr then writeln('slovo ',stnr,' podxodit');
      stn:='';
      stnr:='';
    end;
end.
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 13.06.2008, 10:42   #4
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Я чего то не понял...

Во-первых: не for i:=1 to trunc(length(s)/3) do , а for i:=1 to trunc(length(s)/2) do - это пол строки, а не 1/3
Во-вторых:проверяться на симметричность вся строка. а не слова по отдельности.

Вот мой вариант(если будут ошибки не пугайтесь, а исправте, писал в длокноте без колпиляции)
Код:
var s,prom,Rez:string;
    i,k:integer;
begin clrscr;
writeln('vvedite tekst');
readln(s);

while s<>'' do
 begin
  prom:=copy(s,1,pos(' ',s)-1); delete(s,1,pos(' ',s));
  k:=0;
  for i:=1 to Trunc(Length(prom)/2) do
   begin
    if(prom[i]<>prom[Length(prom)-i])then k:=1;
   end;
  if(k=0)then Rez:=Rez+prom+' ' 
 end;

 writeln('Slova ',Rez, ' semetrichnu');

readkey;
end.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 13.06.2008, 13:35   #5
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

Цитата:
вывести те слова, которые симметричны относительно середине
D-mon, нет, на семетричность проверяются слова
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 13.06.2008, 13:42   #6
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Тоесть проверяется есть ли симметричные слова относительно центра???

Н.П. квас вода квас
или квас вода савк

что тут симметрично?
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 13.06.2008, 13:47   #7
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

assa dflkgjert ddffggffdd
симетричны слова assa и ddffggffdd
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 13.06.2008, 13:48   #8
TaTT DoGG
Форумчанин
 
Аватар для TaTT DoGG
 
Регистрация: 25.04.2008
Сообщений: 476
По умолчанию

на симетричность проверяется каждое слово из строки
Life if about choices
Make the right choice
TaTT DoGG вне форума Ответить с цитированием
Старый 13.06.2008, 15:06   #9
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Ну так а моя программа что делает??? Это и делает!!! Запусти посмотри.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите плиз с задачами на экзамен Astor Помощь студентам 1 27.06.2008 18:49
assembler помогите решить задачку !Очень срочно! завтра экзамен! Taxist Помощь студентам 1 31.03.2008 20:51
Помогите сдать экзамен!!! Нужен код деревьев двоичного поиска и еще 2 програмки Девчонка Помощь студентам 8 18.01.2008 20:02