Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.75 KB | None | 0 0
  1. // struktora ulatwiajaca operacje na 2 wymiarowych tablicach
  2. // w tym na inicializowaniu tablicy identycznymi wartosciami
  3. // ustawianiu wartosci w zadanmym wierszu i kolumnie
  4. // ustawianiu wartosci w zakresie tablicy
  5. // wstrzykiwaniu jednej tablicy do drugiej
  6. // tworzeniu nowej tablicy z fragmentu istniejacej
  7. // listowaniu tablicy
  8. // sprzataniu miejsca po tablicy
  9. // program nalezy skompilowac do pliku wkonywalnego o nazwie tabtest
  10.  
  11. #include <iostream>
  12. using namespace std;
  13. #include "tab.h"
  14. #include "tab.h"
  15.  
  16. int main() {
  17.   Tab t;
  18.   init(&t, 7,7, 0.); // tablica 7 x 7 zainicjalizowana wartosciam 0.
  19.  
  20.   diag(&t, 3.);
  21.   set(&t, 6, 6, 7.);
  22.   TabRange r = {1,1, 3,3};
  23.   set_part(&t, r, 9.);
  24.   print(&t);
  25.  
  26.  
  27.  
  28.   cout << "druga tablica ktora wstrzykniemy do pierwszej" << endl;
  29.   Tab t2;
  30.   init(&t2, 3, 3, 2.);
  31.   set(&t2, 2, 2, 4.);
  32.   print (&t2);
  33.   TabRange bottom_left = {3,0, 6,3};
  34.   insert(&t2, &t, bottom_left);
  35.  
  36.     print(&t);
  37.  
  38.  
  39.   TabRange top_right = {0,3, 3,6};
  40.   insert(&t2, &t, top_right);
  41.  
  42.   cout << "po wstrzygnieciu" << endl;
  43.   print(&t);
  44.  
  45.   cout << "wycinamy srodek (asymetrycznie) jako nowa tablice" << endl;
  46.   TabRange center = {0,2, 6,4};
  47.  Tab* c = extract(&t, center);
  48.   print(c);
  49.   clean(c);
  50.   clean(&t);
  51.   clean(&t2);
  52.   cout << "po operacji clean tablica jest pusta" << endl;
  53.   print(&t);
  54. }
  55. /* Wynik
  56. 3 0 0 0 0 0 0
  57. 0 9 9 0 0 0 0
  58. 0 9 9 0 0 0 0
  59. 0 0 0 3 0 0 0
  60. 0 0 0 0 3 0 0
  61. 0 0 0 0 0 3 0
  62. 0 0 0 0 0 0 7
  63. druga tablica ktora wstrzykniemy do pierwszej
  64. 2 2 2
  65. 2 2 2
  66. 2 2 4
  67. po wstrzygnieciu
  68. 3 0 0 2 2 2 0
  69. 0 9 9 2 2 2 0
  70. 0 9 9 2 2 4 0
  71. 2 2 2 3 0 0 0
  72. 2 2 2 0 3 0 0
  73. 2 2 4 0 0 3 0
  74. 0 0 0 0 0 0 7
  75. wycinamy srodek (asymetrycznie) jako nowa tablice
  76. 0 9 9 2 2 4
  77. 2 2 2 3 0 0
  78. po operacji clean tablica jest pusta
  79.  
  80. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement