Вторник, 08.10.2024, 22:19
Информатика и математика в Плесской школе
Приветствую Вас Гость | RSS
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

На вход программе подается последовательность символов, заканчивающаяся точкой. Требуется написать программу, которая определяет, есть ли в этой последовательности десятичные цифры, и выводит наибольшее число, которое можно составить из этих цифр. Ведущих нулей в числе быть не должно (за исключением числа 0, запись которого содержит ровно одну цифру). Если цифр нет, программа должна вывести на экран слово «Нет», если есть –слово «Да» и в следующей строчке искомое число. Например, если исходная последовательность была такая:
 Day 10? mice 8: “Year” 7 is a mistake 91.
то результат должен быть следующий:
Да 
987110

Решение:


program n1;
uses crt;
var i,j,f:integer;
s:string;
a:array [0..9] of integer;
begin
   f:=0;
   readln (s);
   i:=1;
   while (s[i]<>'.') do begin
    for j:=0 to 9 do
         if s[i]= inttostr(j) then begin a[j]:=a[j]+1;
         f:=1;
         end;
         i:=i+1;
                        end;
 if f=0 then writeln ('Чисел нет')
 else begin
          writeln ('Да');
         for i:=9 downto 0 do
          for j:=1 to (a[i]) do write (i);
      end;
end.

Поиск
Календарь
«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Учительский портал
    Copyright MyCorp © 2024