Advertisement
Guest User

Untitled

a guest
Nov 24th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.69 KB | None | 0 0
  1. /*
  2.   Tematem zadania jest cwiczenie z radzeniem sobie z krzyzowymi
  3.   zaleznosciami miedzy fragmentami programu.
  4.   W takiej sytacjiuzywamy deklaracji wyprzedzajacych.
  5.  
  6.   W zadaniu mamy dwie struktury Vector i Matrix, ktore to musza wspolpracowac.
  7.  
  8.   Aby wymusic krzyzowe zaleznosci funkcja
  9.   Vector* from_matrix_row(Matrix* m, unsigned row);
  10.   musi byc zadeklarowana w pliku. Vector.h a zdefiniwana w Vector.cpp
  11.  
  12.   UWAGA: Nie spelnienie tego warunku skutkuje 0pkt za zadanie.
  13.  
  14.   Do alokacji nalezy uzyc operatorow new a do dealokacji delete.
  15.  
  16.   HINT: tablice 2D mozna (i jest optymalniej) przechowac tablicy 1D
  17.  */
  18.  
  19. #include <iostream>
  20. #include "Vector.h"
  21. #include "Vector.h"
  22. #include "Matrix.h"
  23.  
  24.  
  25. int main() {
  26.  
  27.   MAX_VEC = 20;
  28.   Vector* v1 = make_vec( 5 );
  29.   value_set_vec( v1, 2,  99 ); // wartosc 99 pod indeksem 2 (liczmy od 0)
  30.   print_vec( v1 );
  31.   Vector* v2 = make_vec( 25 ); // utworzenie nie powodlo sie, przekroczony rozmiar maksymalny
  32.   print_vec( v2 );
  33.  
  34.   MAX_VEC = 10;
  35.   Vector* v3 = make_vec( 15 ); // utworzenie nie powiodlo sie
  36.   print_vec( v3 );
  37.  
  38.   Vector* v4 = make_vec( 9 );
  39.   print_vec( v4 );
  40.   for ( int i = 0; i < size_vec( v4 ); ++i )
  41.     value_set_vec( v4, i, i*2 );
  42.   print_vec( v4 );
  43.  
  44.   Matrix *m = make_matrix( v4, 3, 3 );
  45.   std::cout << "m 3 x 3\n" ;
  46.   print_matrix( m );
  47.  
  48.   Vector* v5 = from_matrix_row( m, 1 ); // rzedy liczymy od 0
  49.   std::cout << "rzad 1\n" ;
  50.   print_vec( v5 );
  51.  
  52.   del_vec( v1 );
  53.   del_vec( v2 );
  54.   del_vec( v3 );
  55.   del_vec( v4 );
  56.   del_vec( v5 );
  57.   del_matrix( m );
  58. }
  59. /* wynik
  60. 0 0 99 0 0
  61. empty
  62. empty
  63. 0 0 0 0 0 0 0 0 0
  64. 0 2 4 6 8 10 12 14 16
  65. m 3 x 3
  66. 0 2 4
  67. 6 8 10
  68. 12 14 16
  69. rzad 1
  70. 6 8 10
  71.  
  72.  
  73.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement