#include #include namespace my { int* createIntegerArray(int begin, int end) { return nullptr; } char* createCharacterArray1(char begin, char end) { return nullptr; } char* createCharacterArray2(short begin, short end) { return nullptr; } int** createMatrix(int rows, int cols, int *data) { return nullptr; } } int main() { try { int *p = my::createIntegerArray(10,10); assert(p != nullptr); assert(p[0]==10); delete[] p; p = my::createIntegerArray(10,20); assert(p != nullptr); for ( int i=0; i <= 10; i++ ) { assert(p[i]==10+i); } delete[] p; p = my::createIntegerArray(20,10); delete[] p; assert(false); } catch ( const std::runtime_error& e ) { assert(true); } try { char* p = my::createCharacterArray1('a','a'); assert(p != nullptr); assert(p[0]=='a'); delete[] p; p = my::createCharacterArray1('c','f'); assert(p != nullptr); for ( int i=0; i<4; i++ ) { assert(p[i]=='c'+i); } delete[] p; p = my::createCharacterArray1('f','c'); assert(false); } catch ( const std::runtime_error& e ) { assert(true); } try { char* p = my::createCharacterArray2(10,10); assert(p != nullptr); assert(p[0]==10); delete[] p; p = my::createCharacterArray1(10,20); assert(p != nullptr); for ( int i=0; i<10; i++ ) { assert(p[i]==10+i); } delete[] p; p = my::createCharacterArray1(20,10); assert(false); } catch ( const std::runtime_error& e ) { assert(true); } return 0; }