В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
almaz20004
almaz20004
20.07.2021 01:54 •  Информатика

Требуется отсортировать массив по неубыванию, используя сортировку слиянием.

Чтобы убедиться, что действительно используется сортировка слиянием, после каждого осуществленного слияния (то есть, когда соответствующий подмассив уже отсортирован!), требуется вывести индексы граничных элементов и их значения.

Показать ответ
Ответ:
228MrDimkaYT
228MrDimkaYT
22.02.2023 19:16

Pascal ABC

Код:

var

  a: array [1..3] of string;

  i, j, k: integer;

begin

    readln(a[1],a[2],a[3]);

    for i := 1 to 3 do

        for j := 1 to 3 do

            for k := 1 to 3 do

                if (i <> j) and (i <> k) and (j <> k) then

                   writeln(a[i], ' ', a[j], ' ', a[k]);

end.

Пример работы:

Ввод:

КРАСНЫЕ

ЛАНДЫШИ

ЦВЕТУТ

Вывод:

КРАСНЫЕ ЛАНДЫШИ ЦВЕТУТ

КРАСНЫЕ ЦВЕТУТ ЛАНДЫШИ

ЛАНДЫШИ КРАСНЫЕ ЦВЕТУТ

ЛАНДЫШИ ЦВЕТУТ КРАСНЫЕ

ЦВЕТУТ КРАСНЫЕ ЛАНДЫШИ

ЦВЕТУТ ЛАНДЫШИ КРАСНЫЕ

0,0(0 оценок)
Ответ:
VaYfL
VaYfL
09.03.2021 09:16

// PascalABC.NET 3.6

type

 TR = record

   Имя, Отчество, Фамилия: string;

   Возраст, НомерКласса: integer;

   БукваКласса: char;

 end;

 

function ПринятьСведения: TR;

 begin

   Result.Имя := ReadlnString('Имя:');

   Result.Отчество := ReadlnString('Отчество:');

   Result.Фамилия := ReadlnString('Фамилия:');

   Result.Возраст := ReadlnInteger('Возраст:');

   Result.НомерКласса := ReadlnInteger('Номер клвсса:');

   Result.БукваКласса := ReadlnChar('Буква класса:');

 end;

 

procedure ВывестиСведения(L: List<TR>);

begin

 foreach var r in L do

   Writeln(r.Имя+' '+r.Отчество+' '+r.Фамилия:40,

      r.Возраст:4, r.НомерКласса+r.БукваКласса:4)

end;

 

begin

 var p := new List<TR>;

 var n := ReadlnInteger('Сколько учеников добавить?');

 loop n do

   p.Add(ПринятьСведения);

 p := p.OrderByDescending(t -> t.Имя).ToList;

 ВывестиСведения(p);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота