Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <sstream>
- #include <cctype>
- #include <vector>
- using namespace std;
- // Funkcija gautiSkaiciu atlieka validacija ir
- // gauta skaiciu issaugo kintamajame x
- template <typename T>
- T gautiSkaiciu(string zinute, string klaida = "Blogas ivedimas!"){
- T x;
- while(1){
- cout << zinute;
- cin >> x;
- char c = cin.get();
- if(cin.fail() || (c != '\n')){
- cout << klaida << endl;
- cin.clear();
- cin.ignore(1024, '\n');
- } else {
- return x;
- }
- }
- }
- // Funkcija gautiSarasa nuskaito sarasa ir jei
- // jis geras issaugo ji vektoriuje v
- vector<int> gautiSarasa(string zinute, string klaida = "Blogas ivedimas!"){
- vector<int> v;
- while(1){
- string line;
- cout << zinute;
- getline(cin, line);
- stringstream ss;
- ss << line;
- int arKlaida = 0;
- while(1){
- int x;
- ss >> x;
- if(!ss.fail()){
- v.push_back(x);
- } else {
- if(!ss.eof())
- arKlaida = 1;
- break;
- }
- }
- if(arKlaida == 0)
- break;
- else {
- cout << klaida << endl;
- v.clear();
- }
- }
- return v;
- }
- // atspausdina skaicius esancius vektoriuje v
- void spausdintiSarasa(vector<int> v, string antraste = ""){
- // skaiciu sarasas yra geras
- cout << antraste;
- for(int i = 0; i < v.size(); i++)
- cout << v[i] << " ";
- cout << endl;
- }
- int main(){
- int a = gautiSkaiciu<int>("Iveskite skaiciu a: ");
- cout << "Tu ivedei " << a << endl;
- int b = gautiSkaiciu<int>("Iveskite skaiciu b: ", "Negerai!");
- cout << "Tu ivedei " << b << endl;
- int c = a + b;
- cout << "Suma yra " << c << endl;
- vector<int> v1 = gautiSarasa("Ivesk pirma skaiciu sarasa: ");
- vector<int> v2 = gautiSarasa("Ivesk antra skaiciu sarasa: ");
- spausdintiSarasa(v1, "\nPirmas sarasas:\n");
- spausdintiSarasa(v2, "\nAntras sarasas:\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement