Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 29.10.2018, 01:09   #1
Alisher_
Новичок
 
Регистрация: 29.10.2018
Сообщений: 3
Репутация: 10
По умолчанию Перестановка целых чисел от 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, 10:51   #2
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,744
Репутация: 2097
По умолчанию

Код:

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 в 10:53.
evg_m вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перестановка чисел Бахтиёр.С++ Общие вопросы C/C++ 1 07.10.2016 13:35
Дана непустая последовательность целых чисел. Найти: Сумму чисел, больших числа x и количество всех чётных чисел maksim97maksim Паскаль 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


03:47.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru