profile
Размещено 4 года назад по предмету Информатика от yxl

В упорядоченный по
возрастанию числовой массив из 15 элементов вставить числа -2 и 5, не нарушая
упорядоченности.




  1. Ответ на вопрос
    Ответ на вопрос дан Alphaeus
    Program Yxl;
    uses crt;
    const n=15;
    var
      mass:array [1..n+2] of integer;
      i,j,temp:integer;
    begin
      writeln('*** Alphaeus is thinking... ***');
      writeln('*** OK ***');
      writeln(); writeln();
      writeln('Программа упорядочивает массив по возрастанию ');
      writeln('и вставляет числа -2 и 5, не нарушая упорядоченности.');
    {Создаём массив}
      randomize;
      writeln('Начальный массив: ');
      for i:=1 to n do
        begin
          mass[i]:=random(100)-50;
          write(mass[i]:4,' ');
        end;
    {Сортируем массив}
      for i:=1 to n-1 do 
        for j:=i+1 to n do
          if mass[i]>mass[j] then 
            begin
                temp:=mass[i]; 
                mass[i]:=mass[j]; 
                mass[j]:=temp;
            end;
      writeln;
      writeln('Отсортированный массив: ');
      for i:=1 to n do
        begin
          write(mass[i]:4,' ');
        end;
    {Добавляем к массиву числа -2 и 5 и сортируем полученный массив}
      mass[n+1]:=-2; mass[n+2]:=5;
      for i:=1 to n+1 do 
        for j:=i+1 to n+2 do
          if mass[i]>mass[j] then 
            begin
              temp:=mass[i]; 
              mass[i]:=mass[j]; 
              mass[j]:=temp;
            end;
    {Выводим итоговый массив}
      writeln('Упорядоченный массив: ');
      for i:=1 to n+2 do 
        write(mass[i]:4,' ');
    end.
    1. Ответ на вопрос
      Ответ на вопрос дан archery
      а не легче ли сортировку инкапсулировать в процедуру?
    2. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      А по-моему сделано много лишней работы. В условии сказано что массив упорядочен и в него надо вставить два элемента не нарушая упорядоченности. Т.е. задача сводится к поиску места элемента в упорядоченном массиве (например, бинарному), сдвигу элементов к концу массива и вставке элемента на освободившееся место. Поиск и сдвиг -две процедуры.
    3. Ответ на вопрос
      Ответ на вопрос дан Alphaeus
      Alviko, а если массив окажется неупорядоченным? Чтоб избежать ошибок, пришлось бы включать в программу проверки на упорядоченность... Проще, по-моему, посортировать массив и всё
  2. Ответ на вопрос
    Ответ на вопрос дан archery
    const n = 15;
    type ArrayOfInteger = array [1..n+2] of integer;

    procedure ArrayOutput(A: ArrayOfInteger; a_length: integer);
    var i: integer;
    begin
      for i := 1 to a_length do
        write(A[i]:4, ' ');
      writeln;
    end;

    procedure ArraySort(var A: ArrayOfInteger; a_length: integer);
    var i, j, temp: integer;
    begin
      for i := 1 to a_length-1 do
        for j := i+1 to a_length do
          if A[i]>A[j] then begin
            temp:=A[i];
            A[i]:=A[j];
            A[j]:=temp;
          end;
    end;

    var
      mass:ArrayOfInteger;
      i:integer;
    begin
      writeln('Программа упорядочивает массив по возрастанию ');
      writeln('и вставляет числа -2 и 5, не нарушая упорядоченности.');
    {Создаём массив}
      randomize;
      for i := 1 to n do
        mass[i] := random(100)-50;

      writeln('Начальный массив: ');
      ArrayOutput(mass, n);

      ArraySort(mass, n);
      writeln('Отсортированный массив: ');
      ArrayOutput(mass, n);
    {Добавляем к массиву числа -2 и 5 и сортируем полученный массив}
      mass[n+1]:=-2;
      mass[n+2]:=5;
      ArraySort(mass, n+2);
    {Выводим итоговый массив}
      writeln('Упорядоченный массив: ');
      ArrayOutput(mass, n+2);
    end.

    1. Ответ на вопрос
      Ответ на вопрос дан archery
      В принципе да, но не сказано что нельзя делать так как здесь. Потом паскаль весьма неудобная штука для работы с массивами.
    2. Ответ на вопрос
      Ответ на вопрос дан archery
      А на счет работы - так наоборот, программист делал меньше работы, значит время сэкономленно. А вообще вариант сортировки должен подбираться автоматически в зависимости от того как смешаны элементы. Но в паскале этот функционал не реализован вообще
    3. Ответ на вопрос
      Ответ на вопрос дан Alphaeus
      Archery, это круто, мне понравилось :)
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.