profile
Опубликовано 5 лет назад по предмету Информатика от Rayder357

Дан одномерный массив целого типа. Получить другой массив, состоящий только из чисел исходного массива, больше 10 и кратных 3, или сообщить, что таких чисел нет. Полученный массив вывести в порядке убывания элементов.

  1. Ответ
    Ответ дан Nobunaga
    Const
     n=10;

    type
     MyArr=array[1..10] of integer;

    var ar:MyArr;
    ar2:MyArr;
    i,k:integer;

    procedure SortMin(var a: MyArr;n:Integer);
    var i,j,x:integer;
    begin;
     for I:=1 to n do
      for j:=1 to n-1 do
        if a[j]<a[j+1] then
          begin
            x:=a[j+1];
            a[j+1]:=a[j];
            a[j]:=x;
            end;
    end;

    begin;
    randomize;
    k:=0;
    writeln('First array:');
    for i:=1 to 10 do
     begin;
      ar[i]:=random(100);
      write(ar[i]:4);
      if (ar[i]>10) and (ar[i] mod 3=0) then
       begin;
        inc(k);
        ar2[k]:=ar[i];
       end;
     end;
    if k=0 then
     begin;
      writeln('Нет подходящих элементов');
      exit;
     end;
    SortMin(ar2,k);
    writeln;
    writeln('Final array:');
    for i:=1 to k do
    write(ar2[i]:4);
    end.
    1. Ответ
      Ответ дан Nobunaga
      Один var всё испортил, я исправила. Брат подошёл, посмотрел на Ваш код, сказал что он, цитата, "рак", удалился.
    2. Ответ
      Ответ дан Аккаунт удален
      Брат решил себя назвать раком? С чего такая самокритика?
    3. Ответ
      Ответ дан Nobunaga
      Как Вы уже сказали, в нашем распоряжении только "школьный вариант" решения. Эти процедуры мы видим в первый раз. Наверняка оно ещё и меньше памяти ест.
    4. Ответ
      Ответ дан Аккаунт удален
      В Вашей сортировке надо сменить знак отношения на обратный, потому что сортировка по убыванию должна быть
    5. Ответ
      Ответ дан Аккаунт удален
      Ну не огорчайтесь. Когда лет сорок, как я, попишете программы, тоже будете разбираться в программировании)))
Самые новые вопросы