fork download
  1. #include <iostream>
  2. #include <time.h>
  3. using namespace std;
  4.  
  5. class macierz{
  6. static const int DEFAULT = 1;
  7. private:
  8. double **tab; //wskaźniki
  9. int m_height; //wysokość macierzy
  10. int m_width; //szerokość macierzy
  11. public:
  12. macierz(); //konstruktor domyślny
  13. macierz(int height, int width); //kontruktor z wymiarami macierzy
  14. macierz(macierz& mk); //konstruktor kopiujący
  15. double set_test(int i, int j, double x); //setter
  16. double get_test(int i, int j); //getter
  17. void zmien_rozmiar(int h, int w); //zmiana rozmiaru macierzy
  18. };
  19. macierz::macierz(){
  20. m_height = 1;
  21. m_width = 1;
  22. tab = new double*[DEFAULT];
  23. for (int i = 0; i < DEFAULT; ++i )
  24. tab[i] = new double[DEFAULT];
  25. //wpisanie wartości
  26. for (int i = 0; i < m_height; i++)
  27. for (int j = 0; j < m_width; j++)
  28. tab[i][j] = j+1;
  29. //wypisywanie
  30. for (int i = 0; i < m_height; i++){
  31. cout << "\n";
  32. for (int j = 0; j < m_width; j++)
  33. printf("%g ", tab[i][j]);
  34. }
  35. }
  36. macierz::macierz(int height, int width){
  37. m_height = height;
  38. m_width = width;
  39. tab = new double*[m_width];
  40. for (int i = 0; i < m_width; i++)
  41. tab[i] = new double[m_height];
  42.  
  43. }
  44.  
  45. macierz::macierz(macierz& mk) {
  46. tab = new double*[mk.m_width];
  47. m_width = mk.m_width;
  48. for (int i = 0; i < mk.m_height; i++){
  49. tab[i] = new double[mk.m_height];
  50. tab[i] = mk.tab[i];
  51. }
  52. cout << "\n";
  53. for (int i = 0; i < mk.m_height; i++){
  54. cout << "\n";
  55. for (int j = 0; j < mk.m_width; j++)
  56. printf("%2g ", tab[i][j]);
  57. }
  58. }
  59. double macierz::set_test(int i, int j, double x){
  60. printf("\nwysokosc = %d", m_height);//tutaj nie widać wartości zmiennej
  61. printf("\nszerokosc = %d", m_width);
  62. if (i >= 0 || i < m_height){
  63. if (j >= 0 || j < m_width){
  64. srand((unsigned int)time(NULL));
  65. //wpisywanie wartości
  66. for (int i = 0; i < m_height; i++)
  67. for (int j = 0; j < m_width; j++)
  68. tab[i][j] = (rand() % 3) - 1;
  69. }
  70. }
  71. //wypisywanie
  72. for (int i = 0; i < m_height; i++){
  73. cout << "\n";
  74. for (int j = 0; j < m_width; j++)
  75. printf("%2g ", tab[i][j]);
  76. }
  77. return 0;
  78. }
  79. double macierz::get_test(int i, int j){
  80. if (i >= 0 && i < m_height){
  81. if (j >= 0 && j < m_width){
  82. return tab[i][j];
  83. }
  84. else{
  85. return 0;
  86. }
  87. }
  88. else{
  89. return 0;
  90. }
  91. }
  92. void macierz::zmien_rozmiar(int h, int w){
  93. for (int i = m_width; i < m_width + w; i++)
  94. tab[i] = new double[m_height + h];
  95. //wpisywanie wartości
  96. for (int i = 0; i < m_height + h; i++)
  97. if (i < m_height){
  98. for (int j = m_width; j < m_width + w; j++){
  99. tab[i][j] = 0;
  100. }
  101. }
  102. else{
  103. for (int j = 0; j < m_width + w; j++){
  104. tab[i][j] = 0;
  105. }
  106. }
  107. m_height = h + m_height;
  108. m_width = w + m_width;
  109. //wypisywanie
  110. for (int i = 0; i < m_height; i++){
  111. cout << "\n";
  112. for (int j = 0; j < m_width; j++)
  113. printf("%2g ", tab[i][j]);
  114. }
  115. }
  116. int main(){
  117. macierz();
  118. // macierz mk(5, 5); //39999 maks.
  119. // mk.set_test(3,2,9);
  120. // macierz mk2(mk);
  121. //mk.set_test(3,2,9);
  122. //double a = mk.get_test(1,0);
  123. //printf("\na = %g", a);
  124. //mk.zmien_rozmiar(1,1);
  125.  
  126. cout << "\nKoniec programu.\n";
  127. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In constructor ‘macierz::macierz()’:
prog.cpp:33:29: error: ‘printf’ was not declared in this scope
    printf("%g   ", tab[i][j]);
                             ^
prog.cpp: In copy constructor ‘macierz::macierz(macierz&)’:
prog.cpp:56:30: error: ‘printf’ was not declared in this scope
    printf("%2g   ", tab[i][j]);
                              ^
prog.cpp: In member function ‘double macierz::set_test(int, int, double)’:
prog.cpp:60:36: error: ‘printf’ was not declared in this scope
  printf("\nwysokosc = %d", m_height);//tutaj nie widać wartości zmiennej
                                    ^
prog.cpp:64:34: error: ‘srand’ was not declared in this scope
    srand((unsigned int)time(NULL));
                                  ^
prog.cpp:68:24: error: ‘rand’ was not declared in this scope
      tab[i][j] = (rand() % 3) - 1;
                        ^
prog.cpp: In member function ‘void macierz::zmien_rozmiar(int, int)’:
prog.cpp:113:30: error: ‘printf’ was not declared in this scope
    printf("%2g   ", tab[i][j]);
                              ^
stdout
Standard output is empty