![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.08.2008
Сообщений: 10
|
![]()
Есть такое задание дан одномерный массив, нужно задать число элементов и его сдвиг направо или налево. Сдвиг может быть больше, чем кол-во элементов, тоесть элементы могут несколько раз менятся местами. Надо написать условие обмена элементов местами, минимальным числом операторов, методом целочисленного деления, дополнительный массив создавать нельзя. Никак не могу понять как это сделать...
Пример дан массив из 5 эл. 1 2 3 4 5, сдвигаем массив влево на 2 элемента, получаем 3 4 5 1 2. Код:
Последний раз редактировалось MaTBeu; 02.02.2009 в 19:59. |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 30.12.2008
Сообщений: 78
|
![]()
компилируется нетбинс
Код:
Код:
сегодня посижу подумую про целочисленное деление
Моя работа - Создание сайтов
Последний раз редактировалось breate; 31.01.2009 в 17:35. |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.08.2008
Сообщений: 10
|
![]()
Спасибо большое
|
![]() |
![]() |
#4 |
Пользователь
Регистрация: 24.08.2008
Сообщений: 10
|
![]()
Да если получится нужно целочисленное деление, и запись программы надо сделать проще, так как на момент задания, мы не проходили ещё функции.
|
![]() |
![]() |
#5 |
Пользователь
Регистрация: 24.08.2008
Сообщений: 10
|
![]()
Ни у кого идей нет? Как это сделать с помощью операции остатка от деления?
Последний раз редактировалось 12345678; 31.01.2009 в 20:04. |
![]() |
![]() |
#6 |
Регистрация: 15.01.2008
Сообщений: 4
|
![]()
Есть идеи.
Если сдвиг больше, чем количество элементов, то нет необходимости пробегать их все в цикле, т. к. сдвиг на n элементов n-мерного массива даст нам в результате исходный массив. (Размерность массива представляет для сдвига что-то типа "периода".) Если брать вариант кода breate, то его можно преписать так: Код:
|
![]() |
![]() |
#7 | ||
Пользователь
Регистрация: 30.12.2008
Сообщений: 78
|
![]() Цитата:
Цитата:
при здвиге влево можно использовать значение how %= number; // это эквивалентно how=how%number; if (how<0) how=number+how; эта функция больше показательная чем логическая список аргументов(*,&,переменная)
Моя работа - Создание сайтов
|
||
![]() |
![]() |
#8 |
Пользователь
Регистрация: 24.08.2008
Сообщений: 10
|
![]() Код:
|
![]() |
![]() |
#9 |
Пользователь
Регистрация: 24.08.2008
Сообщений: 10
|
![]()
У меня вопросы возникли, точнее мне придётся на них явно отвечать, причём рассказывая не в общих словах.
Вот на что мне ответить придётся 1) int number,*a;-почему *а. 2) a=new int[number];-что делает в данном случае оператор new. Последний раз редактировалось 12345678; 01.02.2009 в 19:47. |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 24.08.2008
Сообщений: 10
|
![]()
Я правильно понял, что new выделяет память под массив состоящий из number элементов. А почему перед а надо указывать*?
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача про деревья. | WhyBeNormal | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 21.12.2008 23:51 |
Задачка про массив - Из массива удалить четные элементы, стоящие после максимального | Crookers | Общие вопросы C/C++ | 4 | 23.09.2008 19:35 |
циклический сдвиг массива | goacher | Общие вопросы C/C++ | 4 | 28.05.2008 20:11 |
циклический сдвиг массива | goacher | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 27.05.2008 22:26 |