0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 34

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

18.10.2016, 09:00. Показов 2100. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текст (массив строк) в котором каждая строка содержит до 255 цифр. Составить программу, которая для каждой строки определяет, является ли число "палиндромом" (читается одинаково в одну и в другую сторону).
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.10.2016, 09:00
Ответы с готовыми решениями:

Определить, является ли строка палиндромом или нет (итерация и рекурсия)
Разработать программу, определяющую является ли строка палиндромом или нет. Решить задачу как с использованием, так и без использования...

Задачка для новичков #3: определить, является ли строка палиндромом
Простенькая задачка, нужно запилить нормальный плюсовый код. Юзер посимвольно вводит строку, прога должна определять, является ли...

Дана символьная матрица, каждая строка которой является предложением. Для каждой строки определить количество слов.
Дана символьная матрица, каждая строка которой является предложением. Для каждой строки определить количество слов.

12
botsik
 Аватар для cfbogd
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
18.10.2016, 09:20
Вот функция:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function IsPalindrome(const s : string) : boolean;
var
  i, j : integer;
begin
  i := 1;
  j := length(s);
  result := false;
  repeat
    if s[i] <> s[j] then
      exit;
    inc(i);
    dec(j);
  until i > j;
  result := true;
end;
Пример использования:
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.Button1Click(Sender: TObject);
var str:string;
begin
  if IsPalindrome(str) then  
    ShowMessage('Слово - палиндром')
  else
    ShowMessage('Слово палиндромом не является');
end;
Дерзайте)
0
Модератор
 Аватар для D1973
9920 / 6456 / 2456
Регистрация: 21.01.2014
Сообщений: 27,398
Записей в блоге: 3
18.10.2016, 09:23
Delphi
1
2
3
4
5
6
7
8
9
10
uses ..., StrUtils;
...
procedure TForm1.Button2Click(Sender: TObject);
var i : integer;
begin
 Memo2.Lines.Clear;
 Memo2.Lines.Add('Являются палиндромами:');
 for i := 0 to Memo1.Lines.Count - 1 do
  if Memo1.Lines[i] = ReverseString(Memo1.Lines[i]) then Memo2.Lines.Add(Memo1.Lines[i]);
end;
Миниатюры
Для каждой строки заданного текста определить, является ли строка палиндромом.  
0
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 34
18.10.2016, 11:39  [ТС]
cfbogd, для чего нужна TForm1.Button1Click(Sender: TObject) эта строка ?
0
botsik
 Аватар для cfbogd
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
18.10.2016, 11:46
Цитата Сообщение от zooxie Посмотреть сообщение
для чего нужна TForm1.Button1Click(Sender: TObject)
это просто пример использования функции при нажатии кнопки
________
если IsPalindrome() возвращает true, тогда слово - палиндром. Если же false, то слово не палиндром.
0
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 34
18.10.2016, 11:59  [ТС]
Cfbogd, сама программа будет выглядеть так ?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Program zz;
function IsPalindrome(const s : string) : boolean;
var
  i, j : integer;
begin
  i := 1;
  j := length(s);
  result := false;
  repeat
    if s[i] <> s[j] then
      exit;
    inc(i);
    dec(j);
  until i > j;
  result := true;
end;
procedure TForm1.Button1Click(Sender: TObject);
var str:string;
begin
  if IsPalindrome(str) then  
    ShowMessage('Слово - палиндром')
  else
    ShowMessage('Слово палиндромом не является');
end;
End.
0
botsik
 Аватар для cfbogd
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
18.10.2016, 12:27
zooxie, а вы консольное приложение пишите?
0
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 34
18.10.2016, 13:02  [ТС]
Cfbogd, да
0
Модератор
 Аватар для D1973
9920 / 6456 / 2456
Регистрация: 21.01.2014
Сообщений: 27,398
Записей в блоге: 3
18.10.2016, 18:19
zooxie, Вам именно Delphi нужен или Вашу тему в Pascal отправить?
0
botsik
 Аватар для cfbogd
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
18.10.2016, 18:40
zooxie,
Консольное приложение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
var str_pal:string;
function IsPalindrome(const s : string) : boolean;
var
  i, j : integer;
begin
  i := 1;
  j := length(s);
  result := false;
  repeat
    if s[i] <> s[j] then
      exit;
    inc(i);
    dec(j);
  until i > j;
  result := true;
end;
begin
write('Enter word '); read(str_pal);
if IsPalindrome(str_pal) then writeln('Slovo "',str_pal,'" palindrom')
else writeln('Slovo "',str_pal,'" NE palindrom');
end.
0
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 34
18.10.2016, 20:33  [ТС]
cfbogd, это всё очень замечательно , но ведь нам дан массив строк , где каждая содержит 255 цифр
0
Модератор
10429 / 5717 / 3404
Регистрация: 17.08.2012
Сообщений: 17,385
19.10.2016, 02:19
Лучший ответ Сообщение было отмечено zooxie как решение

Решение

Для Delphi 7:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
uses SysUtils, Windows, StrUtils;
var a: array of string[255];
    s: string;
    i, k: integer;
begin
  //Переключение окна консоли на кодовую страницу CP1251 (Win-1251).
  //Если после переключения русские буквы показываются неверно,
  //следует открыть системное меню консольного окна - щелчком мыши в левом
  //верхнем углу окна консоли. И выбрать:
  //Свойства - закладка "Шрифт" - выбрать шрифт: "Lucida Console".
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  k := 0;
  writeln('Введите строки из цифр, конец ввода - пустая строка:');
  repeat
    repeat
      readln(s);
      for i := 1 to length(s) do
        if not (s[i] in ['0'..'9'])
          then begin
            writeln('Это не строка из цифр, повторите ввод.');
            s[1] := ' ';
            break
          end
    until (length(s) = 0) or (s[1] <> ' ');
      if length(s) > 0
        then begin
          inc(k);
          setlength(a, k);
          a[k - 1] := s
        end
  until length(s) = 0;
  for i := 0 to high(a) do
    begin
      if a[i] = ReverseString(a[i])
        then write('Палиндром   : ')
        else write('Не палиндром: ');
      writeln(a[i])
    end;
  readln
end.

Не по теме:

За особенности переключения на русский язык в консоли Delphi отдельное спасибо Mawrat.

2
botsik
 Аватар для cfbogd
262 / 262 / 140
Регистрация: 05.06.2016
Сообщений: 1,247
Записей в блоге: 1
19.10.2016, 13:47
Цитата Сообщение от zooxie Посмотреть сообщение
это всё очень замечательно , но ведь нам дан массив строк , где каждая содержит 255 цифр
так сами далее делайте, пример дан отличный.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2016, 13:47
Помогаю со студенческими работами здесь

Пользователем вводится строка. Программа должна определить, является ли эта строка палиндромом
Пользователем вводится строка.программа должна определить , является ли эта строка полиндромом ?

Определить, является ли строка палиндромом
Дана строка символов до точки. Определить является ли она палиндромом.

Определить, является ли строка палиндромом
Помогите, пожалуйста, решить задачу. Пользователь с клавиатуры вводит строку. Нужно определить является ли строка палиндромом, и (это...

Определить, является ли строка палиндромом
У вас есть строка. Определить, погоду это palindrom или нет. Palindrom это слова, которые можно читать слева направо же, как и справа...

Определить, является ли строка палиндромом
Написать рекурсивную функцию, определяющую является ли палиндромом строка, передаваемая в качестве параметра. Проверить правильность работы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru