Advertisement
irmantas_radavicius

Untitled

Feb 20th, 2024
611
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.62 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <sstream>
  4. #include <cctype>
  5. #include <vector>
  6. #include <algorithm>
  7.  
  8. using namespace std;
  9.  
  10. int main(){
  11.  
  12.     vector<string> vaisiai;
  13.     vector<int> kiekiai;
  14.  
  15.     fstream in("duom.txt", fstream::in);
  16.  
  17.     if(in.is_open()){
  18.         string line;
  19.         while(1){
  20.             getline(in, line);
  21.             if(in.fail())
  22.                 break;
  23.  
  24.             string vaisius = line.substr(0, 12);
  25.             int kiek = stoi(line.substr(12));
  26.  
  27.             if(find(vaisiai.begin(), vaisiai.end(), vaisius) == vaisiai.end()){
  28.                 vaisiai.push_back(vaisius);
  29.                 kiekiai.push_back(kiek);
  30.             } else {
  31.                 int kur = find(vaisiai.begin(), vaisiai.end(), vaisius)-vaisiai.begin();
  32.                 kiekiai[kur] = kiekiai[kur] + kiek;
  33.             }
  34.         }
  35.         in.close();
  36.     } else {
  37.         cout << "Nepavyko atidaryti failo." << endl;
  38.         return 0;
  39.     }
  40.  
  41.     for(int i = 0; i < vaisiai.size(); i++){
  42.         for(int j = 0; j < vaisiai.size()-1; j++){
  43.             //if(vaisiai[j] > vaisiai[j+1]){
  44.             if(kiekiai[j] < kiekiai[j+1]){
  45.                 string tempv = vaisiai[j];
  46.                 vaisiai[j] = vaisiai[j+1];
  47.                 vaisiai[j+1] = tempv;
  48.                 int tempk = kiekiai[j];
  49.                 kiekiai[j] = kiekiai[j+1];
  50.                 kiekiai[j+1] = tempk;
  51.             }
  52.         }
  53.     }
  54.  
  55.     fstream out("rez.txt", fstream::out);
  56.     for(int i = 0; i < vaisiai.size(); i++){
  57.         out << vaisiai[i] << " " << kiekiai[i] << endl;
  58.     }
  59.     out.close();
  60.  
  61.  
  62.     return 0;
  63.  
  64. }
  65.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement