Advertisement
irmantas_radavicius

Untitled

May 7th, 2024
572
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.49 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include <cctype>
  5. #include <string>
  6. #include <sstream>
  7.  
  8. using namespace std;
  9.  
  10. struct Spalva {
  11.      int r, g, b;
  12. };
  13.  
  14. struct Staciakampis {
  15.     int x, y;       // kairysis virsutinis kampas
  16.     int dx, dy;     // ilgis plotis
  17.     Spalva s;       // spalva
  18. };
  19.  
  20. struct Piesinys {
  21.     Spalva laukeliai[100][100];
  22.     int dx, dy;
  23.     Piesinys(){
  24.         dx = 0;
  25.         dy = 0;
  26.         for(int i = 0; i < 100; ++i){
  27.             for(int j = 0; j < 100; ++j){
  28.                 laukeliai[i][j].r = 255;
  29.                 laukeliai[i][j].g = 255;
  30.                 laukeliai[i][j].b = 255;
  31.             }
  32.         }
  33.     }
  34.  
  35. };
  36.  
  37. Staciakampis gauti(string tekstas){
  38.     Staciakampis st;
  39.     stringstream ss;
  40.     ss << tekstas;
  41.     ss >> st.x >> st.y;
  42.     ss >> st.dx >> st.dy;
  43.     ss >> st.s.r >> st.s.g >> st.s.b;
  44.     return st;
  45. }
  46. void spausdinti(Staciakampis st){
  47.     //cout << st.x << "," << st.y << " ";
  48.     //cout << st.dx << "," << st.dy << " ";
  49.     //cout << st.s.r << "," << st.s.g << "," << st.s.b << endl;
  50. }
  51.  
  52. void spausdinti(Piesinys p){
  53.     ofstream out("U2.rez.txt");
  54.     out << p.dy+1 << " " << p.dx+1 << endl;
  55.     for(int j = 0; j <= p.dy; ++j){
  56.         for(int i = 0; i <= p.dx; ++i){
  57.             out << p.laukeliai[i][j].r << " ";
  58.             out << p.laukeliai[i][j].g << " ";
  59.             out << p.laukeliai[i][j].b << endl;
  60.         }
  61.     }
  62.     out.close();
  63. }
  64.  
  65. void uzdeti(Piesinys &p, Staciakampis s){
  66.     for(int j = s.y; j < s.y+s.dy; ++j){
  67.         for(int i = s.x; i < s.x+s.dx; ++i){
  68.             if(i > p.dx)
  69.                 p.dx = i;
  70.             if(j > p.dy)
  71.                 p.dy = j;
  72.             //cout << i << " " << j << " " << p.dx << " " << p.dy << endl;
  73.             p.laukeliai[i][j] = s.s;
  74.         }
  75.     }
  76. }
  77.  
  78. int main(){
  79.  
  80.     ifstream in("U2.txt");
  81.     //if(!in.is_open()){
  82.         //cout << "Nepavyko atidaryti failo" << endl;
  83.         //return 0;
  84.     //}
  85.  
  86.     // nuskaitom dydi
  87.     int eil;
  88.     in >> eil;
  89.     //cout << "Eiluciu " << eil << endl;
  90.     string str;
  91.     getline(in, str);
  92.  
  93.     // nuskaitom eilutes
  94.     vector<Staciakampis> v;
  95.     for(int i = 0; i < eil; ++i){
  96.         getline(in, str);
  97.         v.push_back(gauti(str));
  98.     }
  99.  
  100.     Piesinys p;
  101.     for(int i = 0; i < eil; ++i){
  102.         //spausdinti(v[i]);
  103.         uzdeti(p, v[i]);
  104.     }
  105.  
  106.     spausdinti(p);
  107.  
  108.     //cout << endl << endl;
  109.     //cout << "Pabaiga!" << endl;
  110.     in.close();
  111.  
  112.     return 0;
  113. }
  114.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement