Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4.  
  5. struct Arr2D {
  6.     size_t noOfRows;
  7.     size_t noOfCols;
  8.     int* elems;
  9. };
  10.  
  11. Arr2D* createArr2D(size_t nr, size_t nc, int e = 0); //1
  12. void deleteElems(Arr2D* parr); //2
  13. void setElem(Arr2D* parr, size_t r, size_t c, int e); //3
  14. int getElem(const Arr2D* parr, size_t r, size_t c); //4
  15. void infoArr2D(const Arr2D* parr, ostream& s = std::cout); //5
  16. Arr2D* transpose(const Arr2D* parr); //6
  17.  
  18. int main() {
  19.  
  20.     createArr2D(5, 6, 0);
  21.    
  22.     system("pause");
  23. }
  24.  
  25.  
  26. Arr2D* createArr2D(size_t nr, size_t nc, int e) { //1
  27.     int** tab = new int *[nr];
  28.     Arr2D* test = new Arr2D{ nr, nc, *tab };
  29.        
  30.     for (int i = 0; i < nr;i++) {
  31.         tab[i] = new int[nc];
  32.         for (int j = 0;j < nc;j++)
  33.             tab[i][j] = e; 
  34.     }
  35.        
  36.     for (int i = 0; i < nr;i++) {
  37.         for (int j = 0;j < nc;j++)
  38.             cout << tab[i][j] << " ";
  39.         cout << endl;
  40.     }
  41.  
  42.     return test;
  43. }
  44.  
  45.  
  46.  
  47. void deleteElems(Arr2D* parr) { //2
  48.     delete parr->elems;
  49. }
  50.  
  51.  
  52. void setElem(Arr2D* parr, size_t r, size_t c, int e) { //3
  53.     parr->elems[r] = e;
  54. }
  55.  
  56. int getElem(const Arr2D* parr, size_t r, size_t c) { //4
  57.     return NULL;
  58. }
  59.  
  60. //void infoArr2D(const Arr2D* parr, ostream& s = std::cout); //5
  61. Arr2D* transpose(const Arr2D* parr); //6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement