home *** CD-ROM | disk | FTP | other *** search
/ C/C++ User's Journal & Wi…eveloper's Journal Tools / C-C__Users_Journal_and_Windows_Developers_Journal_Tools_1997.iso / windbase / memslcpp.3 / array.cpp next >
C/C++ Source or Header  |  1995-07-08  |  7KB  |  158 lines

  1. /***************************************************************************\
  2. **                                                                         **
  3. ** WW     WW IIIIIIII NNN   NN DDDDDDD  BBBBBBB     AA     SSSSSS EEEEEEEE **
  4. ** WW  W  WW    II    NNNN  NN DD    DD BB    BB  AA  AA  SS      EE       **
  5. ** WW  W  WW    II    NN NN NN DD    DD BBBBBBB  AAAAAAAA  SSSSSS EEEEEE   **
  6. **  WW W WW     II    NN  NNNN DD    DD BB    BB AA    AA      SS EE       **
  7. **   WWWWW   IIIIIIII NN   NNN DDDDDDD  BBBBBBB  AA    AA SSSSSS  EEEEEEEE **
  8. **                                                                         **
  9. **  SSSSSS  OOOOOO  FFFFFFFF TTTTTTTT WW     WW    AA    RRRRRRR  EEEEEEEE **
  10. ** SS      OO    OO FF          TT    WW  W  WW  AA  AA  RR    RR EE       **
  11. **  SSSSS  OO    OO FFFFF       TT    WW  W  WW AAAAAAAA RRRRRRR  EEEEEE   **
  12. **      SS OO    OO FF          TT     WW W WW  AA    AA RR   RR  EE       **
  13. ** SSSSSS   OOOOOO  FF          TT      WWWWW   AA    AA RR    RR EEEEEEEE **
  14. **                                                                         **
  15. ********** NOTICE ***********************************************************
  16. **       This file contains valuable trade secrets and proprietary         **
  17. **       assets of Windbase Software Inc.  Embodying substantial           **
  18. **       creative efforts and confidential information.  Unauthorized      **
  19. **       use, copying, decompiling, translating, disclosure or             **
  20. **       transfer, of any kind, is strictly prohibited.                    **
  21. **                                                                         **
  22. **       COPYRIGHT (C) 1992, 1993, 1994, 1995.  Windbase Software Inc.     **
  23. **       ALL RIGHTS RESERVED.                                              **
  24. \***************************************************************************/
  25.  
  26. #include <stdio.h>
  27. #include <string.h>
  28. #include <stdlib.h>
  29. #include <iostream.h>
  30.  
  31. #include "../memsl.h"
  32.  
  33. main()
  34.   {
  35.     WBArray array("10,100"), *dynarray;
  36.     char dimensions[21], **strarr, *strptr, **********mdstr;
  37.     int *intarr, **intarr2, numitems = 20, i, i1, i2, i3, i4, i5, i6, i7, i8, i9;
  38.  
  39.     cout << "\n\n========================================================\n";
  40.     cout << "                 Two dimensional array\n";
  41.     cout << "========================================================\n";
  42.     cout << "WBArray array(\"10,100\");\n";
  43.     cout << "char **strarr;\n\n";
  44.     cout << "strarr = (char **) array.GetArray();\n\n";
  45.  
  46.     if ((strarr = (char **) array.GetArray()) != NULL)
  47.       {
  48.     for (i = 0; i < 10; i++)
  49.       sprintf(strarr[i],"This is element %d of a two dimensional array.",i);
  50.     for (i = 0; i < 10; i++)
  51.       cout << strarr[i] << "\n";
  52.       }
  53.  
  54.     cout << "\n\n========================================================\n";
  55.     cout << "                 One dimensional array\n";
  56.     cout << "========================================================\n";
  57.     cout << "WBArray *dynarray;\n";
  58.     cout << "char *strptr;\n\n";
  59.     cout << "dynarray = new WBArray(\"100\");\n";
  60.     cout << "strptr = (char *) dynarray.GetArray();\n\n";
  61.  
  62.     dynarray = new WBArray("100");
  63.     if ((strptr = (char *) dynarray->GetArray()) != NULL)
  64.       {
  65.     strcpy(strptr,"This is a dynamic one dimensional array");
  66.     cout << strptr << "\n";
  67.       }
  68.     delete dynarray;
  69.  
  70.     dynarray = new WBArray("2,2,2,2,2,2,2,2,2,50");
  71.     if ((mdstr = (char **********)dynarray->GetArray()) != NULL)
  72.       {
  73.     cout << "\n\n========================================================\n";
  74.     cout << "                 Ten dimensional array\n";
  75.     cout << "========================================================\n";
  76.     cout << "WBArray *dynarray;\n";
  77.     cout << "char **********mdstr;\n\n";
  78.     cout << "dynarray = new WBArray(\"2,2,2,2,2,2,2,2,2,50\");\n";
  79.     cout << "mdstr = (char **********) dynarray.GetArray();\n\n";
  80.     for (i1 = 0; i1 < 2; i1++)
  81.       for (i2 = 0; i2 < 2; i2++)
  82.         for (i3 = 0; i3 < 2; i3++)
  83.           for (i4 = 0; i4 < 2; i4++)
  84.         for (i5 = 0; i5 < 2; i5++)
  85.           for (i6 = 0; i6 < 2; i6++)
  86.             for (i7 = 0; i7 < 2; i7++)
  87.               for (i8 = 0; i8 < 2; i8++)
  88.             for (i9 = 0; i9 < 2; i9++)
  89.               sprintf(mdstr[i1][i2][i3][i4][i5][i6][i7][i8][i9],
  90.               "This is a ten dimensional array %d%d%d%d%d%d%d%d%d",
  91.               i1,i2,i3,i4,i5,i6,i7,i8,i9);
  92.  
  93.     for (i1 = 0; i1 < 2; i1++)
  94.       for (i2 = 0; i2 < 2; i2++)
  95.         for (i3 = 0; i3 < 2; i3++)
  96.           for (i4 = 0; i4 < 2; i4++)
  97.         for (i5 = 0; i5 < 2; i5++)
  98.           for (i6 = 0; i6 < 2; i6++)
  99.             for (i7 = 0; i7 < 2; i7++)
  100.               for (i8 = 0; i8 < 2; i8++)
  101.             for (i9 = 0; i9 < 2; i9++)
  102.               cout << mdstr[i1][i2][i3][i4][i5][i6][i7][i8][i9] << "\n";
  103.       }
  104.     delete dynarray;
  105.  
  106.     cout << "\n\n========================================================\n";
  107.     cout << "             One dimensional integer array\n";
  108.     cout << "========================================================\n";
  109.     cout << "WBArray *dynarray;\n";
  110.     cout << "char dimensions[21];\n";
  111.     cout << "int *intarr;\n\n";
  112.     cout << "sprintf(dimensions,\"%d\",numitems*sizeof(int));\n";
  113.     cout << "dynarray = new WBArray(dimensions);\n";
  114.     cout << "intarr = (int *) dynarray->GetArray();\n\n";
  115.  
  116.     sprintf(dimensions,"%d",numitems*sizeof(int));
  117.  
  118.     dynarray = new WBArray(dimensions);
  119.  
  120.     if ((intarr = (int *) dynarray->GetArray()) != NULL)
  121.       {
  122.     for (i = 0; i < numitems; i++)
  123.       intarr[i] = i + 1000;
  124.     for (i = 0; i < numitems; i++)
  125.       cout << "Element: " << (i+1) << "  Value: " << intarr[i] << "\n";
  126.       }
  127.  
  128.     delete dynarray;
  129.  
  130.     cout << "\n\n========================================================\n";
  131.     cout << "             Two dimensional integer array\n";
  132.     cout << "========================================================\n";
  133.     cout << "WBArray *dynarray;\n";
  134.     cout << "char dimensions[21];\n";
  135.     cout << "int **intarr2;\n\n";
  136.     cout << "sprintf(dimensions,\"%d,%d\",numitems,numitems*sizeof(int));\n";
  137.     cout << "dynarray = new WBArray(dimensions);\n";
  138.     cout << "intarr2 = (int **) dynarray->GetArray();\n\n";
  139.  
  140.     sprintf(dimensions,"%d,%d",numitems,numitems*sizeof(int));
  141.  
  142.     dynarray = new WBArray(dimensions);
  143.  
  144.     if ((intarr2 = (int **) dynarray->GetArray()) != NULL)
  145.       {
  146.     for (i = 0; i < numitems; i++)
  147.       for (i2 = 0; i2 < numitems; i2++)
  148.         intarr2[i][i2] = i + i2 + 1000;
  149.     for (i = 0; i < numitems; i++)
  150.       for (i2 = 0; i2 < numitems; i2++)
  151.         cout << "Element: [" << i << "][" << i2 << "] Value: " << intarr2[i][i2] << "\n";
  152.       }
  153.  
  154.     delete dynarray;
  155.  
  156.     return(0);
  157.   }
  158.