fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. struct nazwa
  7. {
  8. int pattern;
  9. int color;
  10. };
  11.  
  12. class map_t {
  13. public:
  14. // n - wiersze
  15. // m - kolumny
  16. map_t(int n, int m)
  17. {
  18. // Po co stosować gołe wskaźniki z operatorami new, delete, skoro automatycznie robi to za ciebie klasa vector?
  19. tablica.resize(n);
  20. for (auto & x : tablica)
  21. x.resize(m);
  22. }
  23.  
  24. void wczytaj()
  25. {
  26. for (auto & x : tablica) {
  27. for (auto & y : x)
  28. {
  29. // Ewentualnie można wyslac jakies komunikaty:
  30. cout << "Podaj kolor i wzor: ";
  31. cin >> y.color >> y.pattern;
  32. }
  33. }
  34. }
  35.  
  36. void wypisz() {
  37. for (auto & x : tablica) {
  38. for (auto & y : x)
  39. {
  40. cout << '(' << y.color << ", " << y.pattern << ") ";
  41. }
  42. cout << endl;
  43. }
  44. }
  45.  
  46. private:
  47. // rozne zmienne
  48. vector<vector<nazwa>> tablica;
  49. };
  50.  
  51.  
  52. int main() {
  53. int n, m;
  54.  
  55. cin >> n >> m;
  56.  
  57. map_t mapa{ n , m };
  58.  
  59. mapa.wczytaj();
  60. cout << endl;
  61. mapa.wypisz();
  62. }
Success #stdin #stdout 0s 3476KB
stdin
3 4
1 2 3 2 4 4 5 5
1 2 3 2 4 4 5 5
1 2 3 2 4 4 5 5
stdout
Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: Podaj kolor i wzor: 
(1, 2)    (3, 2)    (4, 4)    (5, 5)    
(1, 2)    (3, 2)    (4, 4)    (5, 5)    
(1, 2)    (3, 2)    (4, 4)    (5, 5)