Составить из имеющихся четных цифр максимальное число, читающееся одинаково слева направо и наоборот - Pascal

  1. На вход подается набор символов, оканчивающийся точкой. Количество символов не превышает 200. Составить из имеющихся в тексте четных цифр максимальное число, которое читается одинаково как слева направо, так и справа налево. Все цифры можно не использовать; незначащих нулей в числе не должно быть. Если требуемое число составить нельзя, то вывести строку «NO»; если можно, то в первой строке вывести строку «YES», а во второй — строку, изображающую найденное число.


textual

Код к задаче: «Составить из имеющихся четных цифр максимальное число, читающееся одинаково слева направо и наоборот - Pascal»

var s,s1:string;
    c:char;
    i,k,j:byte;
begin
readln(s);
s1:='';
for c:='0' to '9' do
if ord(c)mod 2=0 then
 begin
  k:=0;
  for i:=1 to length(s) do
  if s[i]=c then k:=k+1;
  writeln(c,'=',k);
  if k>0 then
   begin
    if s1='' then  for j:=1 to k do s1:=s1+c
    else if(length(s1)=1)and(k=1)and(c>s1[1])then s1:=c
    else for j:=1 to k div 2 do
     begin
      insert(c,s1,1);
      insert(c,s1,length(s)+1);
     end;
   end;
 end;
if s1='' then write('NO')
else write(s1);
end.

СДЕЛАЙТЕ РЕПОСТ

9   голосов, оценка 3.667 из 5



Похожие ответы
  1. Составить программу формирования по вещественной квадратной матрице А={a}_{ij},i=1/n,j=1/m логического вектора B={b}_{i},i=1/n,где {b}_{i} имеет значение true, если наибольший элемент в строке с номером i матрицы А не больше заданного Х,и значение false-в противном случае

  1. Помогите написать программу: В массиве из 10 целых чисел подсчитать сумму элементов более чем в 2 рах превышающих минимальный.

  1. - Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результат на дисплей в виде строки. - Длина строки заранее не вводится, а определяется после окончания ввода с клавиатуры. - В строке группы символов разделяются одним или несколькими пробелами. Пробелы могут находиться в начале и в конце строки. Группа символов - последовательность букв, цифр или знаков, отделенная пробелами от других групп или находящаяся в начале/конце строки. - Все буквы считать вводимыми только в нижнем регистре, Заглавные буквы не рассматривать. - В заголовок окна программы записать свои данные: имя, фамилию и номер варианта. Примеры возможных строк: ‘ 12.3 tryi yu ()?*‘, ‘ 6е-1 swty +12_3‘ Напечатать: Группы символов, состоящие только из латинских букв, если в них есть повторяющиеся буквы.

  1. Необходимо скопировать из 1 файла в другой не используя строк (String). Там через Char как-то. Буду благодарен

  1. Напишите процедуру, которая вычисляет трёхзначное число m, состоящее из трех цифр. Первая цифра – m3 - сотни, вторая – m2 - десятки и третья - m0 - единицы. Вычислить пять трехзначных чисел. Процедуру оформить несколькими способами. Заранее, большое спасибо.

  1. Обработка двумерных массивов (матриц) Разработать программу, в которой предусмотреть: - ввод размерности NxM двумерного массива А, - задание элементов массива двумя способами: ввод с клавиатуры и формирование значений с помощью функции RANDOM(K) генерирования случайных чисел в диапазоне [0..К-1]. ВАРИАНТ ЗАДАНИЯ : Построить новую матрицу, которая образуется из исходной добавлением к ней строки максимальных значений по столбцам.

  1. Описать процедуру, записывающую в переменную X минимальное из значений X и Y, а в переменную Y — максимальное из этих значений. Используя четыре вызова этой процедуры, найти минимальное и максимальное из данных чисел A, B,C, D. Заранее спасибо.

  1. Уверен, что repeat until; for; while вполне могут быть заменены одним while. Стремлюсь к простоте, однообразию, однозначности. В последнее время время как-то пользуюсь исключительно цепочкой из ряда if-ов , рассматривая его как фильтр-решето, улавливающий только "нужную рыбу"и отправляющий ее на определенную линию для дальнейшей обработки. Все остальное просто как шлам проваливается вниз, без всяких else. Может логика программ недостаточно сложная, но создалось впечатление, что else if; else; - элементы языка избыточные, некая формальная или антропоморфная конструкция, без которой вполне можно обойтись. Буду признателен, если подтвердите или опровергнете данное суждение.

  1. Напишите функцию, которая возвращает наименьшее из значений |x-y|, |y-z|, |z-x|.

  1. Напишите программу, которая выводит в столбец произведения чисел а = 143, b = 777 и чисел 1, 2, 3, ... 9. Результаты решения этой задачи могут удивить и озадачить. Тысячелетиями человечество, выполняя различные вычисления, находило среди чисел и результатов операций с ними интересные закономерности. Некоторым числам, например, 3, 7, 13, 666 и т. п., придавалось мистическое значение. В наше время, имея доступ к компьютеру, можно целенаправленно заниматься поиском различных «фокусов» с числами. Как правило, такой поиск требует значительных переборов вариантов и по силам только компьютеру.