• Предмет: Информатика
  • Автор: pomogitepozhalusta1
  • Вопрос задан 2 года назад

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

Ответы

Ответ дал: BobbyFresnel
0

uses School; // PascalABC.NET версия после 14.04.2020

begin

 var a := Digits(ReadInteger('Введи число:'));

 if a.Length = a.Distinct.Count then

   Println('Нет одинаковых цифр, не палиндром')

 else

   begin

     Println('Есть одинаковые цифры');

     if (a[0] = a[3]) and (a[1] = a[2]) then

       Print('Палиндром')

     else

     Print('Не палиндром')

   end  

end.


pomogitepozhalusta1: что за digits?
BobbyFresnel: Функция, возвращающая массив с цифрами числа. Из состава библиотеки School
BobbyFresnel: Библиотека, специально разработанная для школьных задачек
pomogitepozhalusta1: я не знаю такого, чем заменить? мы это не проходили
BobbyFresnel: Скопировать функцию из библиотеки в код
BobbyFresnel: function Digits(n: int64): array of integer;
begin
var St := new Stack;
n := Abs(n);
if n = 0 then
Result := Arr(0)
else
begin
while n > 0 do
begin
St.Push(n mod 10);
n := n div 10
end;
Result := St.ToArray
end
end;
BobbyFresnel: На будущее: "мы это не проходили" на этом сайте не катит.
BobbyFresnel: Дающий решение не обязан знать, что именно вы там проходили.
Вас заинтересует