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

Двумерный динамический массив: добавить К столбцов в начало - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить максимальную разницу между двумя соседними элементами массива http://www.cyberforum.ru/cpp-beginners/thread1166558.html
Помогите пожалуйста. Хотя бы частью программы Задание: Напишите программу, которая позволяет вводить динамический одно-мерный целочисленный массив и посредством вызова функции определять максимальную разницу между двумя соседними элементами массива. При передаче массива в функцию используйте указатели, а размерность передавайте по ссылке. Применение глобальных переменных категорически...
C++ Получить случайные координаты в небольшом радиусе Здравствуйте. Есть точка. Vector vecEndPosition; Нужно от этой точки брать случайные координаты в небольшом радиусе. То есть видимо нужно vecEndPosition.x; vecEndPosition.y; vecEndPosition.z перемножить как-то. Как ? Скажем так, от точки А к точке Б, которая является vecEndPosition, это моя жертва, человек, в которого я посылаю линию, только вот эта линия все время прямо в живот... http://www.cyberforum.ru/cpp-beginners/thread1166552.html
C++ Разбиение упорядоченного массива на блоки
Помогите разбить упорядоченный массив чисел на n блоков с каким нибудь шагом разбиения h
Построить алгоритм прохождения всех циклов графа C++
Задан граф G=(V,R) из N связанных вершин. Построить алгоритм прохождения всех циклов графа. С++ Примечание: цикл – это замкнутое соединение нескольких (или всех) вершин графа.
C++ Расширение окна консоли http://www.cyberforum.ru/cpp-beginners/thread1166506.html
Доброго времени суток! Подскажите, пожалуйста, как расширить окно консоли. Не увеличить во весь экран, а именно расширить. Оно у меня вниз тянется, меньше делается. А вот как расширить вправо не знаю.
C++ Кроссворд на С++, как написать? Не знаю с чего начать, может кто то знает как делать. подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
12.05.2014, 11:49     Двумерный динамический массив: добавить К столбцов в начало
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int** Alloc2d(int m, int n){
   int** data=new int*[m];
   for (int i=0; i<m; ++i)
      data[i]=new int[n];
  return data;
}
int** AddFront(int** matrix, int m, int n, int delta){
   int** data=new int*[m+delta];
   for (int i=0; i<m; ++i)
      data[i+delta]=matrix[i];
   for (int i=0; i<delta; ++i)
      data[i]=new int[n];
  return data;
}
Добавлено через 17 минут
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
int** Alloc2d(int m, int n){
   int** data=new int*[m];
   for (int i=0; i<m; ++i)
      data[i]=new int[n];
  return data;
}
int** AddFront(int** matrix, int m, int n, int delta){
   int** data=new int*[m+delta];
   for (int i=m-1; i>=0; --i)
      data[i+delta]=matrix[i];
   for (int i=0; i<delta; ++i)
      data[i]=new int[n];
  return data;
}
void Free2d(int** matrix, int m, int n){
   for (int i=0; i<m; ++i)
      delete[] data[i];
   delete[] data;
}
int main(){
  int width, height;
  std::cout<<"Input width/height: ";
  std::cin>>width>>height;
  int** array=Alloc2d(width, height);
  srand(time(0));
  for (int i=0; i<height; ++i){
    for (int j=0; j<width; ++j)
      std::cout<<(array[j][i]=rand()%100-50)<<" ";
    std::cout<<std::endl;
  }
  int delta;
  std::cout<<"Input delta: ";
  std::cin>>delta;
  array=AddFront(array, width, height, delta);
  for (int i=0; i<height; ++i)
    for (int j=0; j<delta; ++j)
      array[j][i]=rand()%100-50;
  width+=delta;
  std::cout<<"extended array: "<<std::endl;
  for (int i=0; i<height; ++i){
    for (int j=0; j<width; ++j)
      std::cout<<(array[j][i])<<" ";
    std::cout<<std::endl;
  }
  Free2d(array, width, height); 
  return 0;
}
 
Текущее время: 07:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru