• Создайте программу на языке Паскаль, которая будет определять: является ли данная строка, введенная пользователем, палиндромом.

Ответы 1

  • var ac: array of char; s: string;len: integer; i: integer; fl: boolean;begin write(\'Введите строку =\'); readln(s); SetLength( length(s) ); for i:= 1 to length(s) do ac[i]:= s[i]; f:= true; len:= length(ac); for i := 1 to ( len div 2 ) do begin if ac[i] <> ac[len -i +1] then begin f:= false; break; end; end; if f then writeln(\'палиндромом\') else writeln(\'обычная строка\');end.Палиндромом это строка, которая читается одинаково с обоих сторон.Вначале вводится строка \"s\", и проще было бы сразу проверить строку. Но т.к. в условии сказано, что тип должен быть \"char\", то строка посимвольно копируется в массив \"ас[]\". Размерность массива \"ас\" устанавливается процедурой \"SetLength\", равной количеству введенных с клавиатуры символов.Логическая переменная \"f\" используется как флаг, если \"f\" равное \"true\", то строка палиндромом, иначе это обычная строка.В цикле каждый элемент массива \"ac\" сравнивается с симметричным ему элементом с обратного конца массива.Если находится хоть один такой элемент, \"f\" присваивается \"false\" и цикл прекращается.По окончании цикла, в зависимости от значения переменной \"f\" выводится результат.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years