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

Онлайн всего: 2
Гостей: 2
Пользователей: 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.

Поиск
Календарь
«  Январь 2025  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Учительский портал
    Copyright MyCorp © 2025