Advertisement
irmantas_radavicius

Untitled

Mar 19th, 2024
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <sstream>
  4. #include <cctype>
  5. #include <vector>
  6.  
  7. using namespace std;
  8.  
  9. // Funkcija gautiSkaiciu atlieka validacija ir
  10. // gauta skaiciu issaugo kintamajame x
  11. template <typename T>
  12. T gautiSkaiciu(string zinute, string klaida = "Blogas ivedimas!"){
  13.     T x;
  14.     while(1){
  15.         cout << zinute;
  16.         cin >> x;
  17.         char c = cin.get();
  18.         if(cin.fail() || (c != '\n')){
  19.             cout << klaida << endl;
  20.             cin.clear();
  21.             cin.ignore(1024, '\n');
  22.         } else {
  23.             return x;
  24.         }
  25.     }
  26. }
  27.  
  28.  
  29. // Funkcija gautiSarasa nuskaito sarasa ir jei
  30. // jis geras issaugo ji vektoriuje v
  31. vector<int> gautiSarasa(string zinute, string klaida = "Blogas ivedimas!"){
  32.     vector<int> v;
  33.     while(1){
  34.         string line;
  35.         cout << zinute;
  36.         getline(cin, line);
  37.  
  38.         stringstream ss;
  39.         ss << line;
  40.         int arKlaida = 0;
  41.         while(1){
  42.             int x;
  43.             ss >> x;
  44.             if(!ss.fail()){
  45.                 v.push_back(x);
  46.             } else {
  47.                 if(!ss.eof())
  48.                     arKlaida = 1;
  49.                 break;
  50.             }
  51.         }
  52.         if(arKlaida == 0)
  53.             break;
  54.         else {
  55.             cout << klaida << endl;
  56.             v.clear();
  57.         }
  58.     }
  59.     return v;
  60. }
  61.  
  62. // atspausdina skaicius esancius vektoriuje v
  63. void spausdintiSarasa(vector<int> v, string antraste = ""){
  64.     // skaiciu sarasas yra geras
  65.     cout << antraste;
  66.     for(int i = 0; i < v.size(); i++)
  67.         cout << v[i] << " ";
  68.     cout << endl;
  69. }
  70.  
  71. int main(){
  72.  
  73.  
  74.  
  75.     int a = gautiSkaiciu<int>("Iveskite skaiciu a: ");
  76.     cout << "Tu ivedei " << a << endl;
  77.  
  78.     int b = gautiSkaiciu<int>("Iveskite skaiciu b: ", "Negerai!");
  79.     cout << "Tu ivedei " << b << endl;
  80.  
  81.     int c = a + b;
  82.     cout << "Suma yra " << c << endl;
  83.  
  84.  
  85.    
  86.     vector<int> v1 = gautiSarasa("Ivesk pirma skaiciu sarasa: ");
  87.     vector<int> v2 = gautiSarasa("Ivesk antra skaiciu sarasa: ");
  88.  
  89.     spausdintiSarasa(v1, "\nPirmas sarasas:\n");
  90.     spausdintiSarasa(v2, "\nAntras sarasas:\n");
  91.    
  92.  
  93.     return 0;
  94.  
  95. }
  96.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement