Форум программистов, компьютерный форум CyberForum.ru

Одномерный массив. Циклический сдвиг вправо - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Правило хорошо тона при Рендеринге !? http://www.cyberforum.ru/cpp-beginners/thread777792.html
Появился такой вопрос, правильно ли запихивать указатель на устройство рендеринга в объект. Class Object { //.. D3DXDEVICE * pVideoCard; //.. } или схожий пример для обертки над DirectX Class Object {
C++ Build Error 1. откуда взялся? в универе простые задачки решали письменно, решила попробовать прогу создать по одной из простеньких что было. вроде все правильно,но выбило ошибку Build Error 1 . в чем причина?? #include<stdio.h> #include<stdlib.h> int main() {int i; int R; for (i=0;i>=255;i++) R=rand; for (i=0;i>=255;i++) printf("yniversal'noe mno*estvo: %d", R); http://www.cyberforum.ru/cpp-beginners/thread777785.html
C++ Чётные числа на нечётных местах
Доброго времени суток, уважаемые форумчане! Уже больше 10 часов бьюсь на задачей, но почти безрезультатно. Перерыла весь интернет, и здесь искала, но того что мне нужно не нашла. Задание такое: Дано n, a. Определить количество чётных чисел, стоящих на нечётных местах. Помогите, пожалуйста, две задачи из трёх сделала, если эту не сделаю - отчисление из колледжа :( Я смогла вывести массив на...
C++ Что за входным параметром DynamicArray(long s = 10): size(s), count(0)?
: size(s), count(0) объясните что это ? //конструкторы DynamicArray(long s = 10): size(s), count(0) { //<=======================что это? p = new T; if(!p) cout << "Ошибка при создании массива" << endl; }
C++ сумма ряда 1,3,5,7 http://www.cyberforum.ru/cpp-beginners/thread777752.html
# include <stdio.h> # include <conio.h> #include <iomanip> int main () { setlocale(LC_ALL,"Russian"); int i,n,s=0; printf ("\n Введите количество первых нечетных чисел которые необходимо просумировать n=\n"); scanf ("%d",&n);
C++ функция для нахождения длины связного списка Помогите написать функцию для нахождения длины связного списка. реализуйте функцию итеративно и рекурсивно. getLength (NULL) должен возвращать 0. class List { public: int value; List* next; }; int getLength(List* list) подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
3116 / 1556 / 423
Регистрация: 18.10.2014
Сообщений: 2,882
05.03.2016, 01:19     Одномерный массив. Циклический сдвиг вправо
Цитата Сообщение от Байт Посмотреть сообщение
Понимаете, тема которую вы пытаетесь поднять, лежит совершенно в других плоскостях.
Единственная тема, которую я тут "пытался поднять", это наличие как минимум трех несложных алгоритмов решения данной задачи in-place. А дальше, по какой-то мне не ясной причине, пошли какие-то странные посягательства на светлое имя этой задачи... Как истинный джентльмен, я должен был вступиться.

-----

Кстати, если внимательно посмотреть на условие задачи, то можно заметить, что там четко оговорено ограничение на размер сдвига (не более 4) и при этом разрешается использовать дополнительный массив размером не более 4. Это говорит о том, что постановщик задачи не ищет жемчужин, а ожидает лобового тривиального решения

C++
1
2
3
4
5
6
7
8
9
void shift_right(int a[], size_t n, size_t k)
{ 
  int buffer[4];
  assert(k < n && k < sizeof buffer / sizeof *buffer);
 
  std::copy(a + n - k, a + n, buffer);
  std::copy_backward(a, a + n - k, a + n);
  std::copy(buffer, buffer + k, a);
}
И все.
 
Текущее время: 10:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru