Neka1234321
Опубликовано 6 лет назад по предмету Информатика от Neka1234321


Заполните массив из 10 элементов случайными числами в интервале (0..99) И отсортировать его по возрастанию суммы цифр (подсказка :их всего две )

  1. Ответ
    Ответ дан budzsergiy777p0i27m
    python_______def summ(m): s = 0 while m > 0: s += m % 10 m = m // 10 return sfrom random import randomN = 10a = [0] * Nfor i in range(N): a[i] = int(random() * 40) + 10 print('%4d' % a[i], end='')print()for i in range(N - 1): # количество переборов 9 for j in range(N - i - 1): # при первом переборе i=0 if summ(a[j]) > summ(a[j + 1]): a[j], a[j + 1] = a[j + 1], a[j]for i in range(N): print('%4d' % a[i], end='')print()for i in range(N): print('%4d' % summ(a[i]), end='')print()pascal______const    N = 10;var    arr: array[1..N] of integer;    i, j: byte;    a: integer;function sum (n: integer): byte;    begin        sum := 0;        while n > 0 do begin            sum := sum + n mod 10;            n := n div 10;        end;    end;begin    randomize;    for i := 1 to N do begin        arr[i] := random(20)+10;        write (arr[i]:3);    end;    writeln;          for i := 1 to N-1 do // количество проходов по массиву        for j := 1 to N-do // количество сравнений в каждом проходе            if sum(arr[j]) > sum(arr[j+1]) then begin                a := arr[j];                arr[j] := arr[j+1];                arr[j+1] := a;            end;     for i := 1 to N do        write(arr[i]:3);    writeln;    for i := 1 to N do        write(sum(arr[i]):3);    writeln;end.
    1. Ответ
      Ответ дан allangarsk
      на паскале sum := sum + n mod 10; не работает строчка, дает ошибку -Program3.pas(10) : Нет перегруженной подпрограммы с такими типами параметров
    2. Ответ
      Ответ дан allangarsk
      while n>0 do begind:= d + n mod 10;n:= n div 10;end;sum:=d;d:=0;end;
    3. Ответ
      Ответ дан allangarsk
      заменил sum на d, а после цикла sum:=d; - прекрасноработант
    4. Ответ
      Ответ дан Аккаунт удален
      Вот все решение Вашей задачи на PascalABC.NET
    5. Ответ
      Ответ дан Аккаунт удален
      // PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018begin var a:=ArrRandom(10,0,99); a.Println; a:=a.OrderBy(t->t div 10 + t mod 10).ThenBy(t->t).ToArray; a.Printlnend.
Не тот ответ, который вам нужен?
Найди нужный
Задай вопрос

Лучшие за месяц