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

Указатели: циклический сдвиг элементов массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ неразрешенный внешний элемент http://www.cyberforum.ru/cpp-beginners/thread783096.html
ругается на статическую переменную класса #include <iostream> #include <Windows.h> using std::cout; using std::endl; using std::cin; class CBox { double Length;
C++ Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество K Помогите написать программу. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество K. Спасибо! http://www.cyberforum.ru/cpp-beginners/thread783093.html
Для заданной целочисленной матрицы напечатать индексы тех ее элементов которые являются наименьшими в своей строке и одновременно крупнейшими C++
для заданной целочисленной матрицы A напечатать индексы тех ее элементов которые являются наименьшими в своей строке и одновременно крупнейшими в своем столбце
C++ поиск с конца
помогите пожалуйста. есть строка - src с расширением (*.*) надо к второй строке(имя файла сохранения) добавить это расширение как это сделать "быдлокдом" я знаю, а как с использованием stl?
C++ Как открыть файл одновременно для чтения и для записи? http://www.cyberforum.ru/cpp-beginners/thread783081.html
Делаю вот так, но ничего не получается.:( std::fstream inOutCredit("credit.dat", std::ios::ate | std::ios::binary); if (!inOutCredit) { std::cerr << "Ошибка открытия файла credit.dat." << std::endl; system("pause"); exit(1); }
C++ Умножение матриц не могу разобраться с умножением трех матриц, написал программу считает не правильно ошибку найти не могу уже мозг кипит :) #include <stdio.h> #include <conio.h> #include <iostream.h> #include <iomanip.h> #include <math.h> void main(void) {// Определение переменных int c,d,e,i,j,f,l,m1,n1,p1; int a = {{1},{1},{1}}; подробнее

Показать сообщение отдельно
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
10.02.2013, 21:14     Указатели: циклический сдвиг элементов массива
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
 
int *copy(int *begin, int *end, int *destination) {
  int *copyOfDestination = destination;
  while (begin != end) {
    *destination++ = *begin++;
  }
  return copyOfDestination;
}
 
// ñäâèãГ*ГҐГІ Г¬Г*Г±Г±ГЁГў âëåâî Г*Г* number ýëåìåГ*òîâ
void shiftLeft(int *begin, int *end, int number) {
  int *storage = new int[number];
  copy(begin, begin + number, storage);
  for (int *first = begin; first != end - number; ++first) {
    *first = *(first + number);
  }
  copy(storage, storage + number, end - number);
  delete [] storage;
}
 
// ñäâèãГ*ГҐГІ Г¬Г*Г±Г±ГЁГў ГўГЇГ°Г*ГўГ® Г*Г* number ýëåìåГ*òîâ
void shiftRight(int *begin, int *end, int number) {
  int *storage = new int[number];
  copy(end - number, end, storage);
  for (int *last = end - 1; last != begin + number - 1; --last) {
    *last = *(last - number);
  }
  copy(storage, storage + number, begin);
  delete [] storage;
}
 
int main(int argc, char **argv) {
  int size = 10;
  int *array = new int[size];
 
  for (int i = 0; i < 10; ++i) {
    std::cout << (array[i] = i) << " ";
  }
  std::cout << std::endl;
  
  shiftLeft(array, array + size / 2, 2);
  shiftRight(array + size / 2, array + size, 2);
    
  for (int i = 0; i < 10; ++i) {
    std::cout << array[i] << " ";
  }
  std::cout << std::endl;
 
  delete [] array;
  std::cin.get();
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru