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

Сдвиг в динамическом массиве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задание на массивы, на обработку массивов (С++) http://www.cyberforum.ru/cpp-beginners/thread107065.html
Пожалуйста, уже не знаю у кого просить помощи. Надо решить такую штуку. http://s09.***********/i182/1003/b0/e09c0f1235b0.jpg Заранее большое большое спасибо
C++ Последовательность Фибоначчи СТРОКИ! Помогите пожалуйста написать программу. Ато препод ничего не может толком рассказать а только требует. С уровнем знания С++ поэтому у меня плохо. Нужно написать программу, которая бы находила F=F+F. Но в качестве F выступают строки. Например, F='a', F='b'. Найти F. F="bab". Препод сказал что используются функции strcat. Помогите пожалуйста. Вот мой набросок, который естесственно... http://www.cyberforum.ru/cpp-beginners/thread107063.html
C++ Работа с текстом
Помогите реализовать: Считывание текста из текстового файла и вывод на экран только слов, состоящих из заданного количества букв. Сформировать из текста словарь (запись его в новый файл). Реализовать возможность дополнения словаря из других текстовых файлов.
C++ Подсчитать количество пар соседних элементов массива с одинаковыми значениями
Что нужно сделать: Подсчитать количество пар соседних элементов с одинаковыми значениями Диапазон значений : -50 до 50 Размерность массива: 200 Вложения . Пример решения задачи токо не мой вариант
C++ Найдите пожалуйста ошибку http://www.cyberforum.ru/cpp-beginners/thread107051.html
#include <iostream> #include <cmath> #include <ctime> using namespace std; int main(){ char a; int zvezd,probel,b; int i,j,n,s; cout<<"Enter the size of matrix <=20"; cin>>n;
C++ Вычислить выражение Помогите!!! Как написать математичесой выраз!!!! 3+e в степине y-1 разделить на 1+x в квадрате по модулю y-tgx подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.03.2010, 15:50     Сдвиг в динамическом массиве
zzzt, вот самое красивое решение данной задачи из всех мне известных
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Обмен значениями двух целочисленных переменных
void Swap(int& left, int& right)
{
  int tmp   = left;
      left  = right;
      right = tmp;
}
 
// Разворот массива
void Reverse(int* arr, int size)
{
  for (int i = 0; i < size / 2; ++i)
    Swap(arr[i], arr[size - i - 1]);
}
 
// Сдвиг вправо на k позиций
void ShiftRight(int* arr, int size, int k)
{
  k %= size;
  Reverse(arr, k);             // Разворот левой части массива
  Reverse(arr + k, size - k);  // Разворот правой части массива
  Reverse(arr, size);          // Разворот всего массива
}
Возьми листок бумаги, нарисуй массив и посмотри как это работает.
 
Текущее время: 17:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru