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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2010, 21:02   #1
Nice rabbit
 
Аватар для Nice rabbit
 
Регистрация: 06.03.2010
Сообщений: 4
По умолчанию проверьте программу про палиндром

Проверьте если не трудно мою программу про палиндром.

Условие задачи:
Ввести строку символов и определить является ли введённая строка полиндромом.

Код:
Program Nice;
var
a:string;{строка символов}
n,i:real;{n-номер букв в слове}
BEGIN
WriteLn('3agaute a' , a);
   if Length(a) mod 2 =0 {тоесть я проверяю число на чётность -эта проверка по моему 
мнению должна удовлетворять чётным числам}
   then
     for i:=1 to n/2 do
     for n:=n down to n/2+1   {на примере словo "умму" проверяются последняя 
и первые буквы ,а также вторая и третья совпадают(да ,слово придумано),но это не главное}
     if s[i]=s[n]
        then Writeln('chislo est palindrom')
        else Wrirteln('chislo ne palindrom')
  else
     for i:=1 to div n/2           {здесь для нечётных слов}
     for n:=n down to div(n/2+1) {по грамматике надеюсь можно ли так ?}
         if s[i]=s[n]
         then WriteLn('shislo est palindrom') {n=TRUE}
         else  Writeln('shislo est palindrom')  {n=FALSE  писать полсе ' ?}
End.
прошу оставить комментарии по программе и недочётам {а то у меня паскаль выводит маленькие недочёты на 6ой и 10строчке}

Последний раз редактировалось Stilet; 09.03.2010 в 17:04.
Nice rabbit вне форума Ответить с цитированием
Старый 06.03.2010, 21:31   #2
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

проще сделать так: читаем слово, переворачиваем его, сравниваем с первым.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 06.03.2010, 21:42   #3
Nice rabbit
 
Аватар для Nice rabbit
 
Регистрация: 06.03.2010
Сообщений: 4
По умолчанию

прикольная идейка))неподскажешь как перевернуть слово?
Nice rabbit вне форума Ответить с цитированием
Старый 06.03.2010, 22:15   #4
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Код:
for i:=1 to length(a) do
 b:=a[i]+b;
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 06.03.2010, 22:27   #5
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

помню на лабах такую задачу решали,загоняя строку в стек и очередь,потом поэлементно разбирать и сравнивать..)
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 07.03.2010, 11:15   #6
Nice rabbit
 
Аватар для Nice rabbit
 
Регистрация: 06.03.2010
Сообщений: 4
По умолчанию

{b:string}.
а можно так
for b:=n down to 1 do
for a:=1 to n do
b[n]:=a[i]



правильный цикл перед операцией присваивания b ?

Последний раз редактировалось Nice rabbit; 07.03.2010 в 11:19.
Nice rabbit вне форума Ответить с цитированием
Старый 07.03.2010, 11:54   #7
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

А зачем все эти проверки на четность и нечетность?
Код:
var s:string;
i,k:integer;
pal:boolean;
begin
readln(s);
k:=length(s);
pal:=true;
for i:=1 to k div 2 do
if s[i]<>s[k-i+1] then begin pal:=false;break;end;
if pal then writeln('является')
else writeln('не является');
readln;
end.
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.

Последний раз редактировалось ОДИНОЧЕСТВО В СЕТИ; 07.03.2010 в 11:57.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 07.03.2010, 12:15   #8
Nice rabbit
 
Аватар для Nice rabbit
 
Регистрация: 06.03.2010
Сообщений: 4
По умолчанию

Спасибо за ещё один неплохой вариант.Просто про true и false не помню как делать))
Nice rabbit вне форума Ответить с цитированием
Старый 09.03.2010, 16:35   #9
fenix-elite
Пользователь
 
Аватар для fenix-elite
 
Регистрация: 02.11.2008
Сообщений: 75
По умолчанию

Прикольная задача )) Я ее вообще 3 вариантами решал. Первый вариант это жесть была ) Тоже смотрел четность\нечетность, проверял по элементам и т.д. Во 2-ом тоже че-то намутил. В третьем, просто во вторую строку переписал первую в обратном порядке, и сравнил.
«Когда ты действительно чего-то хочешь, вся Вселенная помогает тебе осуществить твою мечту».(с) Пауло Коэльо
fenix-elite вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверьте программу натка:) Помощь студентам 12 03.02.2010 09:40
ПАскаль матрицы, проверьте программу Nubik Помощь студентам 3 24.01.2010 20:57
Проверьте, пожалуйста, программу!Не выводиться на экран! J__S(Юляшка) Общие вопросы C/C++ 5 21.12.2009 03:14
Проверьте пожалуйста программу на Си Konstantin2209 Помощь студентам 0 20.12.2009 19:31
проверьте программу плиз и исправьте что там не так Gronex Помощь студентам 3 21.05.2009 17:01