Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2018, 00:09   #1
Alisher_
 
Регистрация: 28.10.2018
Сообщений: 3
По умолчанию Перестановка целых чисел от 1 до N

Перестановка целых чисел от 1 до N описывает способ перетасовки этих чисел.

Вот перестановка целых чисел {1, 2, 3, 4, 5, 6}:

1 -> 1
2 -> 3
3 -> 6
4 -> 2
5 -> 5
6 -> 4

Обратным к перестановке является перетасовка, которая возвращает каждое целое число в исходное положение.

Вот обратная вышеперечисленная перестановка:

1 -> 1
2 -> 4
3 -> 2
4 -> 6
5 -> 5
6 -> 3

Ваша программа должна читать серию чисел из стандартного ввода. Первое число представляет собой положительное целое число N <= 100. Следующие числа представляют собой перестановку множества натуральных чисел {1, 2, ..., N} и разделяются пробелами. Все номера ввода отображаются в одной строке.

Определите обратную перестановку и запишите ее в одну строку стандартного вывода с номерами, разделенными пробелами.

пример

вход:

6 1 3 6 2 5 4

выход:

1 4 2 6 5 3

Объяснение:

В примере ввода первое число (6) равно N. Следующие шесть чисел (1 3 6 2 5 4) являются первой перестановкой из текста выше. Выходные числа (1 4 2 6 5 3) являются обратной перестановкой из текста выше.



Понятия не имею как сделать эту програму, помогите пожалуйста.
Alisher_ вне форума Ответить с цитированием
Старый 29.10.2018, 09:51   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
Read(N); //Первое число представляет собой положительное целое число N <= 100.
for j:=1 to N do begin //Следующие числа 
Read(x); // КУДА ставить
o[x]:=j; // и поставим
end;
// чтобы "восстановить" надо всего лишь поставить КАЖДОЕ число на соотв. место(совпадающее с его значением)
for j:=1 to N do Write(o[j]); // просто выведем эти числа и они укажут КУДА их надо ставить
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 29.10.2018 в 09:53.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестановка чисел Бахтиёр.С++ Общие вопросы C/C++ 2 29.06.2019 21:41
Дана непустая последовательность целых чисел. Найти: Сумму чисел, больших числа x и количество всех чётных чисел maksim97maksim Паскаль, Turbo Pascal, PascalABC.NET 1 09.04.2014 13:59
Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно. nadyaH Помощь студентам 10 29.10.2013 09:08
Перестановка чисел Veryn4ik1993 C# (си шарп) 2 20.02.2013 11:35
Дана последовательность вещественных чисел. каждая пара чисел задает границы отрезка. Найти количество целых чисел на отрезках 'studentka' Помощь студентам 6 30.11.2011 18:35