Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- labos 2
- 1.: (2)
- /*
- Napišite klasu „Kontakt“ koja predstavlja kontakt u telefonskom imeniku s podacima nužnim za održavanje takvog imenika (ime i prezime, telefonski broj, e-mail).
- Kreirajte polje objekata i u njega smjestite tri objekta stvorena parametarskim konstruktorom.
- Otvorite datoteku (ime se unosi s tipkovnice) i u nju korištenjem preopterećenog operatora za ispis upišite sadržaj ranije kreiranog polja.
- Za sve potrebe rada s nizovima znakova koristiti string klasu.
- */
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- class Kontakt
- {
- string ime, prezime, broj, mail;
- friend void operator<< (ostream&, Kontakt&);
- public:
- Kontakt(string a, string b, string c, string d);
- };
- Kontakt::Kontakt(string a, string b, string c, string d)
- {
- ime = a;
- prezime = b;
- broj = c;
- mail = d;
- }
- void operator<< (ostream& izlaz, Kontakt& kont)
- {
- izlaz << "Ime i prezime: " << kont.ime << " " << kont.prezime << endl << "Broj telefona: " << kont.broj << endl << "E-mail adresa: " << kont.mail << endl;
- //return izlaz;
- }
- int main()
- {
- char datoteka[30];
- Kontakt Kont[3]
- {
- Kontakt("Jozo", "Jozic", "0911234567", "jozojozic@gmail.com"),
- Kontakt("Marko", "Markic", "0922345678", "markomarkic@gmail.com"),
- Kontakt("Marija", "Maric", "0933456789", "marijamaric@gmail.com"),
- };
- cout << "Unesite ime datoteke: " << endl;
- cin.getline(datoteka, sizeof(datoteka));
- ofstream tok(datoteka);
- for (int i = 0; i < 3; i++)
- {
- tok << Kont[i];
- }
- tok.close();
- return 0;
- }
- 2.: (2)
- /*
- Napiši klasu koja predstavlja vektor u trodimenzionalnom prostoru sa atributima za i, j, k komponente.
- Za navedenu klasu napišite podrazumijevani i parametarski konstruktor te preopteretite 4 operatora za tu klasu (1 aritmetički, 1 relacijski, 1 U/I te operator = (pridruživanja)).
- U glavnoj funkciji testirajte sve operatore koje ste preopteretili (u slučaju da niste preopteretili << ispišite rezultirajuće vektore odgovarajućom metodom za ispis).
- */
- #include <iostream>
- using namespace std;
- class Vektor
- {
- int i, j, k;
- friend Vektor operator+(Vektor prvi, Vektor drugi);
- friend bool operator==(Vektor prvi, Vektor drugi);
- friend ostream& operator<<(ostream&, Vektor&);
- public:
- Vektor();
- Vektor(int x, int y, int z);
- Vektor operator=(const Vektor& vekt)
- {
- i = vekt.i;
- j = vekt.j;
- k = vekt.k;
- return *this;
- }
- };
- Vektor::Vektor()
- {
- i = 0;
- j = 0;
- k = 0;
- }
- Vektor::Vektor(int x, int y, int z)
- {
- i = x;
- j = y;
- k = z;
- }
- Vektor operator +(Vektor prvi, Vektor drugi)
- {
- Vektor zbroji;
- zbroji.i = prvi.i + drugi.i;
- zbroji.j = prvi.j + drugi.j;
- zbroji.k = prvi.k + drugi.k;
- return zbroji;
- }
- bool operator==(Vektor prvi, Vektor drugi)
- {
- return ((prvi.i == drugi.i) && (prvi.j == drugi.j) && (prvi.k == drugi.k));
- }
- ostream& operator<< (ostream& izlaz, Vektor& vekt)
- {
- izlaz << vekt.i << ", " << vekt.j << ", " << vekt.k;
- return izlaz;
- }
- int main()
- {
- Vektor V1(1, 2, 3), V2(4, 5, 6);
- cout << "Aritmeticki: " << V1 + V2 << endl;
- cout << "Relacijski: " << (V1 == V2) << endl;
- cout << "U/I: " << V1 << endl;
- V1 = V2;
- cout << "Pridruzivanje: " << (V1 == V2) << endl;
- return 0;
- }
- 3. (nije predan):
- /*Napišite funkciju koja vraća indeks najmanjeg elementa jednodimenzionalnog polja cijelih brojeva
- te nakon toga preopteretite tu funkciju tako da radi i s poljima double tipa, poljima vektora(zadatak 2) i string objektima(4 funkcije).
- Funkcija ne treba podrazumijevati duljinu predanog joj polja.
- */
- //string treba vratit ascii vrijednost a vektor..?
- #include <iostream>
- #include <string>
- using namespace std;
- class Vektor
- {
- int i, j, k;
- friend Vektor operator+(Vektor prvi, Vektor drugi);
- friend bool operator==(Vektor prvi, Vektor drugi);
- friend ostream& operator<<(ostream&, Vektor&);
- public:
- Vektor();
- Vektor(int x, int y, int z);
- Vektor operator=(const Vektor& vekt)
- {
- i = vekt.i;
- j = vekt.j;
- k = vekt.k;
- return *this;
- }
- };
- Vektor::Vektor()
- {
- i = 0;
- j = 0;
- k = 0;
- }
- Vektor::Vektor(int x, int y, int z)
- {
- i = x;
- j = y;
- k = z;
- }
- int min(int polje[])
- {
- int min = polje[0];
- int ind = 0;
- for (int i = 0; i < 10; i++)
- {
- if (polje[i]<min)
- {
- ind = i;
- min = polje[i];
- }
- }
- return ind + 1;
- }
- int min(string polje[])
- {
- string min = polje[0];
- int ind = 0;
- for (int i = 0; i < 10; i++)
- {
- if (polje[i]<min)
- {
- ind = i;
- min = polje[i];
- }
- }
- return ind + 1;
- }
- int min(double polje[])
- {
- double min = polje[0];
- int ind = 0;
- for (int i = 0; i < 10; i++)
- {
- if (polje[i]<min)
- {
- ind = i;
- min = polje[i];
- }
- }
- return ind + 1;
- }
- int min(Vektor polje[])
- {
- return 0;
- }
- int main()
- {
- int ipolje[5]{5, 2, 1, 4, 3};
- double dpolje[5] {1.1, 23, 34, 0.214, 7};
- string spolje[5] {a, b, 1, c, z};
- Vektor vpolje[3] {};
- cout << "int:" << min(ipolje) << endl;
- cout << "double:" << min(dpolje) << endl;
- cout << "char" << min(spolje) << endl;
- cout << "vektor:" << min(vpolje) << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement