Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------
- Trzeba napisać program który wrzuci do kontenera typu set pory roku, wypisze na ekran ilość elementów w kontenerze za pomocą metody size () i czy dana pora roku jest w kontenerze count ()
- :#include <iostream>
- #include <set>
- using namespace std;
- int main(int argc, char** argv) {
- set <string> pory_roku;
- pory_roku.insert("wiosna");
- pory_roku.insert("lato");
- pory_roku.insert("jesien");
- pory_roku.insert("zima");
- cout << "Ilosc elementow w zbiorze: " << pory_roku.size() << endl;
- if(pory_roku.count("zima")!=0)
- {
- cout << "Zima jest w kalendarzu";
- }
- return 0;
- }
- -------------
- Program ktory wyswietli wprowadzone pory roku, wypisze w odwrotnej kolejności, usunie pierwsza pore roku, sprawdzi czy zostało usunięte, wyswietlic ilosc elementow
- #include <iostream>
- #include <map>
- using namespace std;
- int main(){
- map <int, string> Seasons;
- Seasons[1] = "Wiosna";
- Seasons[2] = "Lato";
- Seasons[3] = "Jesien";
- Seasons[4] = "Zima";
- map <int, string> :: reverse_iterator it;
- for(it=Seasons.rbegin(); it!=Seasons.rend(); ++it)
- cout << it -> second << endl << endl;
- Seasons.erase(1); // Delete first item
- if(Seasons.find(1) == Seasons.end())
- cout << "Nie znalazlem";
- cout << "W mapie sa: " << Seasons.size() << " elementy" << endl;
- return EXIT_SUCCESS;
- }
- ------------
- Trzeba było napisać funkcje liczące pole kwadratu, koła i chyba trapezu (wszystkie osobno) i je wywołać w mainie
- #include <iostream>
- using namespace std;
- template <typename T> T square( T a ){
- return a*a;
- }
- template <typename T> T trapeze( T a, T b, T h ){
- return 0.5*(a+b)*h;
- }
- template <typename T> T circle( T r ){
- return 3.14*r*r;
- }
- int main(){
- short option = 0;
- cout << "1 kwadrat" << endl << "2 trapez" << endl << "3 kolo" << endl << endl;
- cin >> option;
- double a = 0, b = 0, c = 0;
- switch(option){
- case 1:
- cout << "Podaj a: ";
- cin >> a;
- cout << "Pole kwadratu: " << square(a);
- break;
- case 2:
- cout << "Podaj a: ";
- cin >> a;
- cout << "Podaj b: ";
- cin >> b;
- cout << "Podaj h: ";
- cin >> c;
- cout << "Pole trapezu: " << trapeze(a, b, c);
- break;
- case 3:
- cout << "Podaj r: ";
- cin >> a;
- cout << "Pole kola: " << circle(a);
- break;
- }
- return 0;
- }
- --------------
- #include <iostream>
- #include <list>
- using namespace std;
- template <class T>
- class Lista_dwukierunkowa
- {
- list<T>lista;
- public:
- void dodaj(T a, T b, T c, T d)
- {
- lista.push_back(a);
- lista.push_back(b);
- lista.push_back(c);
- lista.push_back(d);
- }
- void usun()
- {
- while(!lista.empty())
- {
- cout << lista.back() << '\n';
- lista.pop_back();
- }
- }
- };
- int main()
- { int e,f,g,h;
- cin>>e>>f>>g>>h;
- Lista_dwukierunkowa<int> test;
- test.dodaj(e,f,g,h);
- test.usun();
- float e1,f1,g1,h1;
- cin>>e1>>f1>>g1>>h1;
- Lista_dwukierunkowa<float> test2;
- test2.dodaj(e1,f1,g1,h1);
- test2.usun();
- return 0;
- }
- ------------
- Napisz program który przeciąży operatory == oraz != w klasie wektor (dwa wymiary) przeciazenia maja byc zaprzyjaznione
- #include <iostream>
- using namespace std;
- class wektor{
- int x,y;
- public:
- wektor(int x, int y)
- {
- this->x = x;
- this->y = y;
- }
- friend bool operator ==(wektor liczba_1,wektor liczba_2 );
- friend bool operator !=(wektor liczba_1, wektor liczba_2);
- };
- bool operator ==(wektor liczba_1, wektor liczba_2)
- {
- if(( liczba_1.x == liczba_2.x ) &&( liczba_1.y == liczba_2.y ) )
- return true;
- else
- return false;
- }
- bool operator !=(wektor liczba_1, wektor liczba_2)
- {
- if(( liczba_1.x == liczba_2.x ) &&( liczba_1.y == liczba_2.y ) )
- return false;
- else
- return true;
- }
- int main(int argc, char** argv) {
- wektor a(2,2);
- wektor b(2,2);
- if(a==b) cout << "rowne" << endl;
- wektor c(3,3);
- if(a!=c) cout << "Rozne" << endl;
- return 0;
- }
- -------------
- Napisz program w którym użytkownik stworzy klasę Punkt, współrzędne x,y. Przeciazy operator wejściowy i przetestuje program
- str. wyjściowy <<
- str. wejsciowy >>
- #include <iostream>
- using namespace std;
- class punkt
- {
- public:
- int x, y;
- friend istream &operator >>(istream &wejscie, punkt &a)
- {
- wejscie >> a.x >> a.y;
- }
- };
- int main(int argc, char** argv) {
- punkt a;
- cin >> a;
- return 0;
- }
- --------
- Napisać program "Studniówka" który sprawdza czy każda osoba ma parę, i jeśli kobiet jest więcej od mężczyzn to wyrzucić wyjątek oraz pokazać ile osób nie ma pary
- #include<iostream>
- #include<string>
- #include<cmath>
- #include<cstdlib>
- #include <cstdio>
- #include <sstream>
- using namespace std;
- double pary(double, double);
- int main()
- {
- try
- {
- pary(10, 2);
- }
- catch(string w)
- {
- cout<<"Wyjatek: "<< w;
- }
- cin.get();
- return 0;
- }
- double pary(double chlopcy, double kobiety) //funkcja zwraca iloraz a / b
- {
- int zmienna;
- if (kobiety>chlopcy) {
- zmienna = kobiety - chlopcy;
- std::ostringstream oss;
- oss << "KOBIET ZA DUZO , MEZCZYZN NIE DO PARY: " << zmienna;
- string adi = oss.str();
- throw adi;
- }
- if(kobiety<chlopcy){
- string wyjatek = "Nie do pary , za duzo mezczyzn !";
- zmienna = chlopcy - kobiety;
- std::ostringstream oss;
- oss << "MEZCZYZN ZA DUZO , KOBIET NIE DO PARY: " << zmienna;
- string adi = oss.str();
- throw adi;
- }
- }
- -------
- napisac na podstawie kontenera list liste osob zawieraja imie i nazwisko
- piszac jakies 2 dowolne metody i stosujac dwa dowolne wyjatki
- poprzednia grupa miala cos podobnego tyko, ze na innych kontenerach
- #include <iostream>
- #include <exception>
- #include <list>
- using namespace std;
- struct osoba
- {
- string imie, nazwisko;
- };
- class osoby
- {
- list <osoba> nowa;
- public:
- void dodaj()
- {
- try
- {
- string imie, nazwisko;
- cout << "Podaj imie: " <<endl;
- cin >> imie;
- cout << "Podaj nazwisko: " <<endl;
- cin >> nazwisko;
- if(imie.size() > 20)
- throw (string) "Za dlugie";
- if(nazwisko.size() > 20)
- throw (string) "Za dlugie";
- struct osoba a;
- a.imie = imie;
- a.nazwisko = nazwisko;
- nowa.push_back(a);
- }
- catch (string e)
- {
- cout << "Blad: " << e <<endl;
- }
- }
- void wyswietl()
- {
- try
- {
- if(nowa.size()==0)
- throw (string) "Brak osob na liscie";
- cout << "Lista osob: " <<endl;
- list <osoba>::iterator i;
- for(i=nowa.begin();i!=nowa.end();i++)
- cout << (*i).imie << " " << (*i).nazwisko <<endl;
- }
- catch (string e)
- {
- cout << "Blad: " << e <<endl;
- }
- }
- };
- int main()
- {
- osoby obiekt;
- obiekt.dodaj();
- obiekt.dodaj();
- obiekt.dodaj();
- obiekt.wyswietl();
- return 0;
- }
- Jeżeli dostaniecie na wejściówce kontener set to nie używajcie struktury
- -------
- lista
- #include <iostream>
- #include <list>
- #include <set>
- using namespace std;
- int main(){
- list<string> lista;
- int i =0;
- while(i<100){
- i++;
- int iloscliczb;
- string fullname;
- cout << "Podaj ile elementow chcesz dodac" << endl;
- cin >> iloscliczb;
- for( int it=0; it<iloscliczb; it++ ){
- cout << "Podaj nazwe" << endl;
- cin >> fullname;
- lista.push_back(fullname);
- }
- list<string>::reverse_iterator it;
- for( it=lista.rbegin(); it!=lista.rend(); ++it )
- {
- cout<< *it << " ";
- }
- cout << endl;
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement