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

Двухмерный динамический массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Электронные часы, проверка ввода http://www.cyberforum.ru/cpp-beginners/thread692886.html
есть рабочий код, помогите модернизировать, время вводится пользователем, выход на российский формат и европейский формат. Нужно чтоб еще проверку делал если ввод неверный и выдавал сообщение с просьбой нового ввода. если допустим введем 70:67:00 #include <stdafx.h> #include <iostream> #include <conio.h> using namespace std; struct time { int h; int m; int s;}; void rustime (const time...
C++ Библиотека для удобной работы с типом string с++ Привет, надо проводить много манипуляций со строками - обрезка, перенос строки, выравнивание - для интерфейса 3D-игры. Есть ли готовая библиотека для таких операций? Для ОС Windows. http://www.cyberforum.ru/cpp-beginners/thread692869.html
C++ Обработка двумерных массивов (Вычислить матрицу D, равную произведению элементов матрицы М на константу.)
Дана матрица М (4 5) и константа С. Вычислить матрицу D, равную произведению элементов матрицы М на константу. Помогите плиз))
C++ Почему программа не хочет повторять новый ввод?
Первый раз считает отлично. Прошу повторить - пишет везде 0 и не спрашивает о вводе нового string? #include <iostream> #include <string> #define MAXNUM 1000 using namespace std;
C++ Составить программу, которая печатает true, если точка с координатами (x,y) принадлежит закрашенной области, и false в противном случае: http://www.cyberforum.ru/cpp-beginners/thread692814.html
Составить программу, которая печатает true, если точка с координатами (x,y) принадлежит закрашенной области, и false в противном случае: #include <conio.h> #include <iostream.h> #include <math.h> void main() { int x, y,o;
C++ Найти минимальное значение главной диагонали и максимальное значение вспомогательной диагонали в матрице ! Найти минимальное значение главной диагонали и максимальное значение вспомогательной диагонали в матрице порядка n. Найденные значения поменять местами. Если эти значения принадлежат одному элементу, то это значение присвоить всем элементам главной и вспомогательной диагоналям. помогите решить подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт CЭксперт С++
13052 / 7315 / 814
Регистрация: 27.09.2012
Сообщений: 18,052
Записей в блоге: 3
Завершенные тесты: 1
09.11.2012, 12:06     Двухмерный динамический массив
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Если просто не хватает памяти, вроде как ничего никуда вылетать не должно. Просто new вернёт NULL. Вылетит разве что если будешь записывать нечто в этот массив, не убедившись, что он не NULL
Дело в том, что new кидает исключение и до проверки дело не доходит
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
#include <iostream>
 
double **allocate(long int w,long int h)
{
   double **mas;
    int j,i;
    try{
   mas= new double*[w];   
   if (!mas) {
      std::cerr<<"Allocation mas failure";
      system("pause");
      return NULL;
   }
    for(i=0; i<w; i++){
      mas[i]= new double [h];
      if (!mas[i]){
        std::cerr<<"Allocation mas["<<i<<"] failure";
        system("pause");
        return NULL;
      }
     
   }
    }
    catch(...){
        std::cerr<<"Allocation mas["<<i<<"] failure";
        for (j=0; j<i; j++) delete[] mas[j];
        delete[] mas; 
          return NULL;
    }
return mas;
}
 
int main(){
    const int w=100000;
    const int h=100000;
    double ** mass=0;
    mass=allocate(w,h);
 
    if(mass){
        for(int i=0;i<w;i++)
            delete [] mass[i];
        delete [] mass;
    }
    std::cin.get();
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru