Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* TP_Tutorijal_4 Zadatak_1 */
- #include <iostream>
- #include <vector>
- #include <string>
- using std::cin;
- using std::cout;
- using std::endl;
- int main()
- {
- int n;
- cout << "Unesite broj rijeci: ";
- cin >> n;
- std::vector<std::string> rijeci (n);
- cout << "Unesite rijeci: " << endl;
- for (int i = 0; i < n; i++)
- std::cin >> rijeci[i];
- /* Brisanje duplikata */
- for (int i = 0; i < static_cast<int> (rijeci.size()) - 1; i++)
- for (int j = (i + 1); j < static_cast<int> (rijeci.size()); j++)
- if (rijeci[i] == rijeci[j])
- rijeci.erase (rijeci.begin() + j);
- /* Ispisivanje prve i zadnje rijeci po abecedi */
- std::string min = rijeci[0], max = rijeci[0];
- for (int i = 1; i < static_cast<int> (rijeci.size()); i++) {
- if (rijeci[i] < min) min = rijeci[i];
- if (rijeci[i] > max) max = rijeci[i];
- }
- cout << endl << "Prva rijec (po abecednom poretku): " << min << endl
- <<"Posljednja rijec (po abecednom poretku): " << max << endl << endl;
- /* Ispis svih rijeci bez duplikata */
- cout << "Popis svih rijeci (bez duplikata): " << endl;
- for(int i = 0; i < rijeci.size(); i++)
- cout << " " <<rijeci[i] << endl;
- return 0;
- }
- ----------------------
- /* TP_Tutorijal_4 Zadatak_2 */
- #include <iostream>
- #include <vector>
- #include <string>
- using std::cin;
- using std::cout;
- using std::endl;
- void Cifre(int n, int &c_min, int &c_max) {;
- c_max = n % 10;
- c_min = c_max;
- n /= 10;
- while(n > 0) {
- if (n % 10 > c_max) c_max = n % 10;
- if (n % 10 < c_min) c_min = n % 10;
- n /= 10;
- }
- }
- int main()
- {
- int a, b;
- Cifre(37232645, a, b);
- cout << "Najmanja: " << a << endl << "Najveca: " << b << endl;
- return 0;
- }
- ---------------------------------------------------
- #include <iostream>
- #include <vector>
- #include <string>
- using std::cin;
- using std::cout;
- using std::endl;
- void Izvrni(std::string &s) {
- for(int i = static_cast<int> (s.length()) - 1, j = 0; j < i; i--, j++) {
- std::swap(s[i], s[j]);
- }
- }
- int main()
- {
- std::string s = "Ovo je neki test ...";
- Izvrni(s);
- cout << s;
- return 0;
- }
- ----------------------------------------------------
- /* TP_Tutorijal_4 Zadatak_4 */
- #include <iostream>
- #include <string>
- #include <cmath>
- using std::cin;
- using std::cout;
- using std::endl;
- template <typename TipBroja>
- void UnosBroja(std::string prompt, std::string greska, TipBroja &broj) {
- cout << prompt;
- while (!(cin >> broj) || std::cin.peek() != '\n') {
- cout << greska;
- cin.clear();
- cin.ignore (10000, '\n');
- cout << prompt;
- }
- }
- /* Specijalizacija gen. fje za unsigned int tip brojeva */
- template <>
- void UnosBroja(std::string prompt, std::string greska, unsigned int &broj) {
- cout << prompt;
- while (!(cin >> broj) || std::cin.peek() != '\n') {
- cout << greska;
- cin.clear();
- cin.ignore (10000, '\n');
- cout << prompt;
- }
- }
- /*
- template <typename TIP>
- TIP VratiNesto(int x) {}
- VratiNesto(6) // greska
- VratiNesto<double>(6) // OK
- */
- int main()
- {
- double x;
- UnosBroja("Unesi realan broj x: ", "Nije double!\n", x);
- int n;
- UnosBroja("Unesi eksponent n: ", "Nije int!\n", n);
- cout << std::pow(x, n) << endl;
- return 0;
- }
- ------------------------------------------------------------------------
- /* TP_Tutorijal_4 Zadatak_5 */
- #include <iostream>
- #include <vector>
- #include <string>
- using std::cin;
- using std::cout;
- using std::endl;
- template <typename tip>
- std::vector<tip> Presjek (std::vector<tip> v1, std::vector<tip> v2) {
- std::vector<tip> rez;
- for(int i = 0; i < v1.size(); i++)
- for(int j = 0; j < v2.size(); j++)
- if(v1[i] == v2[j]) { // elementi su jednaki
- /* provjera da li je element vec sadrzan u rezultantnom vektoru */
- bool sadrzan(false);
- for(int k = 0; k < rez.size(); k++) {
- if (v1[i] == rez[k]) {
- sadrzan = true;
- break;
- }
- }
- if(sadrzan) break; // ako je sadrzan preskoci ga
- rez.push_back(v1[i]); // posto nije sadrzan, upisi ga u rezultantni vektor
- }
- return rez;
- }
- int main()
- {
- cout << "Izaberte tip elemenata vektora:\n1. Double\n2. String\nIzbor: ";
- int izbor;
- cin >> izbor;
- if (izbor == 1)
- {
- cout << "Unesite broj elemanta prvog vektora: ";
- int n;
- cin >> n;
- cout << "Unesite elemente prvog vektora: ";
- std::vector<double> v1 (n);
- for(int i = 0; i < n; i++)
- cin >> v1[i];
- cin.ignore (10000, '\n');
- cout << "Unesite broj elemanta drugog vektora: ";
- int m;
- cin >> m;
- cout << "Unesite elemente drugog vektora: ";
- std::vector<double> v2 (m);
- for(int i = 0; i < m; i++)
- cin >> v2[i];
- cin.ignore (10000, '\n');
- auto v(Presjek (v1, v2));
- cout << "Presjek unesenih vektora je: ";
- for (auto x : v)
- cout << x << ' ';
- }
- else if (izbor == 2)
- {
- cout << "Unesite broj rijeci prvog vektora: ";
- int n;
- cin >> n;
- std::vector<std::string> v1 (n);
- cout << "Unesite rijeci prvog vektora:\n";
- for (int i = 0; i < n; i++)
- cin >> v1[i];
- cin.ignore (10000, '\n');
- cout << "Unesite broj rijeci drugog vektora: ";
- int m;
- cin >> m;
- std::vector<std::string> v2 (m);
- cout << "Unesite rijeci drugog vektora:\n";
- for(int i = 0; i < m; i++)
- cin >> v2[i];
- cin.ignore (10000, '\n');
- auto v(Presjek (v1, v2));
- cout << "Presjek unesenih stringova je: ";
- for (auto x : v)
- cout << x << ' ';
- }
- else cout << "Izbor nije validan!" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement