Azarova Anastasiya1707
?>

Паскаль авс, написать программу с функцией. вводится n целых чисел. написать программу, которая определяет число, сумма цифр которого наибольшая. если таких цифр несколько, то вывести их количество.

Информатика

Ответы

mposte
Static class Program
{
    public static IEnumerable<uint> Digits(this uint X, bool Reverse = true)
    {
        do { yield return X % 10; } while ((X /= 10) != 0);
    }

    static uint ToUnsignedInt32(this IEnumerable<uint> Digits)
    {
        return Digits.Reverse().Aggregate((a, d) => a * 10 + d);
    }

    static void Main()
    {
        Console.WriteLine(
            uint.Parse(Console.ReadLine())
                .Digits()
                .Where(d => d % 2 == 1)
                .ToUnsignedInt32());
                
        Console.ReadKey();
    }
}
ilds88
Procedure ShellStr(var s: string);
{ сортирует символы строки методом Шелла }
var
  i, j, n, step: integer;
  c: char;
begin
  s := Trim(s);
  n := Length(s);
  step := n div 2;
  while step > 0 do 
  begin
    for j := n - step downto 1 do 
    begin
      i := j;
      while i <= n - step do 
      begin
        if s[i] > s[i + step] then
        begin
          c := s[i];
          s[i] := s[i + 1];
          s[i + 1] := c
        end;
        i := i + step
      end
    end;
    step := step div 2
  end
end;

procedure TrimNullsLeft(var s: string);
{ Усекает левые (незначащие нули) в строке s }
var
  i, n: integer;
begin
  i := 1; n := Length(s);
  while (s[i] = '0') do i := i + 1;
  s := Copy(s, i, n - i + 1)
end;

var
  p: integer;
  s, M, N: string;
  f: text;

begin
  Assign(f, 'input.txt');
  Reset(f);
  Readln(f, s);
  Close(f);
  Assign(f, 'output.txt');
  Rewrite(f);
  s := Trim(s);
  p := Pos(' ', s);
  M := Copy(s, 1, p - 1);
  N := Copy(s, p + 1, Length(s) - p);
  s := M + N;
  ShellStr(s);
  TrimNullsLeft(s);
  Writeln(f, s);
  Close(f);
  Writeln('Программа завершила работу')
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Паскаль авс, написать программу с функцией. вводится n целых чисел. написать программу, которая определяет число, сумма цифр которого наибольшая. если таких цифр несколько, то вывести их количество.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Полковников_Милана
doorhan42n6868
Khiryanov
Li-111
juliat200520
kol-nat26
testovvanya
eobmankina
Plotnikovangav
Igor1406
macmakka
Sinelnikov1650
mmoskow3
Olesyamilenina8
nchorich55