Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 11.01.2022
Сообщений: 53

Даны три слова. Выяснить, является ли хоть одно из них палиндромом

02.02.2022, 14:12. Показов 1144. Ответов 5

Студворк — интернет-сервис помощи студентам
Даны три слова. Выяснить, является ли хоть одно из них палиндромом ("оборотнем"), то есть читаемым одинаково слева направо и справа налево. (Определить функцию, позволяющую распознавать слова-палиндромы.)
Ввод слов с клавиатуры.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.02.2022, 14:12
Ответы с готовыми решениями:

Выяснить, является ли хоть одно из двух заданных чисел палиндромом
Даны два натуральных числа. Выяснить, является ли хоть одно из них палиндромом ("перевертышем"), т.е. таким числом, десятичная...

Даны 2 натуральных числа выяснить является ли хоть одно из них палиндромом (перевёртышем)
Даны 2 натуральных числа выяснить является ли хоть одно из них палиндромом(перевёртышем) тоесть таким числом десятичная запись которого...

Выяснить, является ли хоть одно из чисел палиндромом
Даны два натуральных числа. Выяснить, является ли хоть одно из них палиндромом («перевертышем»), т.е. таким числом, десятичная запись...

5
Вирусоборец
 Аватар для thyrex
14449 / 7488 / 1582
Регистрация: 06.09.2009
Сообщений: 27,132
02.02.2022, 15:23
Pascal
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
const yes = 'является палиндромом'; 
 
 function isPalindrom(s0: string): boolean;
 var s: string;
      i: integer;
 begin
  s:= '';
  for i:= length(s0) downto 1 do
   s:= s + s0[i];
  result:= s = s0;
 end;
 
begin
 write('s1 = ');
 readln(s1);
 if isPalindrom(s1)
  then writeln(yes)
  else writeln('не ' + yes);
 write('s2 = ');
 readln(s2);
 if isPalindrom(s2)
  then writeln(yes)
  else writeln('не ' + yes);
 write('s3 = ');
 readln(s3);
 if isPalindrom(s3)
  then writeln(yes)
  else writeln('не ' + yes);
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
02.02.2022, 15:35
Лучший ответ Сообщение было отмечено DenGI235 как решение

Решение

Другой вариант без копирования строки:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function IsPalindrom(const s: String): Boolean;
var i, j: Integer;
begin
  i:=1; j:=Length(s);
  while (i<j) and (s[i]=s[j]) do begin
    Inc(i); Dec(j);
  end;
  IsPalindrom:=i>=j;
end;
var
  i: Integer;
  s: String;
begin
  for i:=1 to 3 do begin
    Write('s',i,': '); ReadLn(s);
    if not IsPalindrom(s) then Write('НЕ '); WriteLn('палиндром');
  end;
end.
Добавлено через 2 минуты
Хотя, по условию нужен несколько иной ответ:
Цитата Сообщение от DenGI235 Посмотреть сообщение
является ли хоть одно из них палиндромом
Pascal
10
11
12
13
14
15
16
17
18
19
var
  i, k: Integer;
  s: String;
begin {k:=0;}
  for i:=1 to 3 do begin
    Write('s',i,': '); ReadLn(s);
    if IsPalindrom(s) then Inc(k);
  end;
  WriteLn(k>0);
end.
Добавлено через 1 минуту
Другой вариант:
Pascal
10
11
12
13
14
15
16
17
18
19
20
var
  i: Integer;
  s: String;
  b: Boolean;
begin {k:=0;}
  for i:=1 to 3 do begin
    Write('s',i,': '); ReadLn(s);
    b:=b or IsPalindrom(s);
  end;
  WriteLn(b);
end.
0
0 / 0 / 0
Регистрация: 11.01.2022
Сообщений: 53
02.02.2022, 15:37  [ТС]
Compilation failed due to following error(s).
Выдает ошибку (первый вариант) , щас попробую еще варианты
0
Вирусоборец
 Аватар для thyrex
14449 / 7488 / 1582
Регистрация: 06.09.2009
Сообщений: 27,132
02.02.2022, 15:48
Цитата Сообщение от bormant Посмотреть сообщение
Другой вариант без копирования строки:
или так
Pascal
1
2
3
4
5
6
7
8
9
function IsPalindrom(const s: string): boolean;
var i, j: Integer;
begin
 i:=1;
 j:=Length(s);
 while (i<=j div 2) and (s[i]=s[j-i+1]) do
   inc(i);
 Result:= i>j div 2;
end;
Добавлено через 54 секунды
Цитата Сообщение от DenGI235 Посмотреть сообщение
Compilation failed due to following error(s).
я там забыл переменные объявить
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
02.02.2022, 15:55
Цитата Сообщение от thyrex Посмотреть сообщение
или так
в этом варианте деление внутри цикла выглядит не очень здорово.
В остальном -- вполне рабочий вариант.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2022, 15:55
Помогаю со студенческими работами здесь

Даны три слова. Определить, является ли хоть одно из них палиндромом
Даны три слова. Определить, является ли хоть одно из них палиндромом (&quot;перевёртышем&quot;), т.е таким, которое читается одинаково слева...

Даны два натуральных числа. Выяснить, является ли хоть одно из них палиндромом
Даны два натуральных числа. Выяснить, является ли хоть одно из них палиндромом («перевертышем»), т.е. таким числом, десятичная запись...

Выяснить, является ли хоть одно из заданных чисел палиндромом
Даны два натуральных числа. Выяснить, является ли хоть одно из них палиндромом, т.е. таким числом, десятичная запись которого читается...

Выяснить, является ли хоть одно из заданных чисел палиндромом
даны два натуральных числа выяснить является ли хоть одно из них палимдромом т.е. таким числом десятичная запись котопого читается...

Выяснить, является ли хоть одно из трех слов палиндромом
32. Даны три слова. Выяснить, является ли хоть одно из них палиндромом («перевертышем»), т. е. таким, которое читается одинаково слева...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru