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

Циклический сдвиг элементов массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ из char в const char? http://www.cyberforum.ru/cpp-beginners/thread171243.html
Всем привет, раньше писал на с++ но сейчас уже много забылось поэтому хотелось бы узнать ответ на такой вопрос... есть небольшой код: if (br==1){ const char b = 0;} if (br==2){ const char b={x,x,x,x,x,x};} if (br==3){ const char b={x,x,x,x,x,x,x,x};}
C++ Определить количество положительных элементов массива 27. Дан массив А(6). Определить количество положительных элементов http://www.cyberforum.ru/cpp-beginners/thread171241.html
C++ непустой массив целых чисел,
26. Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, циклический сдвигает элементы массива вправо на к позиции, и печатает результат. Цикличность означает, что последний элемент массива становится самым первым его элементом.
C++ Определить количество отрицательных элементов в заданном массиве
25. Дан массив А(5). Определить количество отрицательных элементов.
C++ Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы http://www.cyberforum.ru/cpp-beginners/thread171237.html
Дана целочисленная квадратная матрица. Определить: 1) произведения элементов в тех строках, которые не содержат отрицательных элементов. 2) максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
C++ Не могу найти ошибку #include "stdafx.h" #include <conio.h> class Sum { public: int sum1 (int x1, int x2) { return x1 + x2; }; подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
01.10.2010, 15:15     Циклический сдвиг элементов массива
Lollipo,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <algorithm>
#include <iostream>
#include <iterator>
#include <functional>
#include <cstddef>
 
void Reverse(int* arr, std::size_t size)
{
  std::reverse(arr, arr + size);
}
 
void ShiftLeft(int* arr, std::size_t size, std::size_t k) {
  k %= size;
  
  Reverse(arr    , k);
  Reverse(arr + k, size - k);
  Reverse(arr    , size);
}
 
void ShiftRight(int* arr, std::size_t size, std::size_t k) {
  k %= size;
  
  ShiftLeft(arr, size, size - k);
}
 
int main() {
        int         arr[] = { 1, 2, 3, 4, 5 };
  const std::size_t size  = sizeof(arr) / sizeof(arr[0]);
  const std::size_t k     = 2;
  
  ShiftRight(arr, size, k);
  
  std::copy(arr, arr + size, std::ostream_iterator<int>(std::cout, " "));
  
  return 0;
}
Результат: http://liveworkspace.org/code/4cf835...f65a62f4762cf0
 
Текущее время: 00:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru