Задается массив из n натуральных чисел. Найти сумму чисел в которых цифры упорядочены по...

0 голосов
35 просмотров
Задается массив из n натуральных чисел. Найти сумму чисел в которых цифры упорядочены по возрастанию. Язык- паскаль. Задачу сделать надо через функцию

Информатика (157 баллов) | 35 просмотров
Дан 1 ответ
0 голосов

Const
  n = 10;

var
  a: array[1..n] of integer;
  i: integer;

function sum: integer;
var
  tmp, prev, cur, s, i: integer;
  flg: boolean;
begin
  s := 0;
  for i := 1 to n do
  begin
    flg := true;
    tmp := a[i];
    prev := 9;
    cur := 0;
    while tmp > 0 do
    begin
      cur := tmp mod 10;
      if cur > prev then
      begin
        flg := false;
        break;
      end;
      prev := cur;
      tmp := tmp div 10;
    end;
    if flg then inc(s);
  end;
  sum := s;
end;

begin
  writeln('Исходный массив: ');
  for i := 1 to n do
  begin
    a[i] := random(1000);
    write(a[i], ' ');
  end;
  writeln;
  writeln('Ответ: ', sum);
end.

(13.3k баллов)