|
|
@ -1,15 +1,61 @@ |
|
|
|
#include <iostream>
|
|
|
|
#include <cstdlib>
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
using namespace std; |
|
|
|
|
|
|
|
void array_alloc(double **arr, long arrsize) |
|
|
|
{ |
|
|
|
try |
|
|
|
{ |
|
|
|
arr = new double* [arrsize]; |
|
|
|
arr[0] = new double [arrsize*arrsize]; |
|
|
|
|
|
|
|
for(long i = 1; i < arrsize; i++) |
|
|
|
arr[i] = arr[i-1] + arrsize; |
|
|
|
} |
|
|
|
catch (bad_alloc& ex) |
|
|
|
{ |
|
|
|
cerr << "Could not allocate memory for array" << endl; |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void array_destroy(double **arr) |
|
|
|
{ |
|
|
|
delete [] arr[0]; |
|
|
|
delete [] arr; |
|
|
|
} |
|
|
|
|
|
|
|
int main(int argc, char *argv[]) |
|
|
|
{ |
|
|
|
double **A=NULL;//, **B=NULL, **C=NULL;
|
|
|
|
long rozmiar=0; |
|
|
|
char *endptr; |
|
|
|
|
|
|
|
if (argc < 3) |
|
|
|
{ |
|
|
|
cerr << "Usage: " << argv[0] << " <n> <size>" << endl; |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
cout << argv[argc-1]; |
|
|
|
|
|
|
|
rozmiar = strtol(argv[2], &endptr, 10); |
|
|
|
|
|
|
|
if (*endptr) |
|
|
|
{ |
|
|
|
cerr << "Invalid array size format" << endl; |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
|
|
|
|
if (rozmiar <= 0) |
|
|
|
{ |
|
|
|
cerr << "The number of matrix dimension must be positive" << endl; |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
array_alloc(A, rozmiar); |
|
|
|
getchar(); |
|
|
|
|
|
|
|
//jeszcze czyszczenie pamięci
|
|
|
|
|
|
|
|
exit(0); |
|
|
|
} |