Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //OPPGAVE 1
- #include <iostream>
- using namespace std;
- int main() {
- char navn[2][3] = {{'o','l','e'}, {'p','e','r'}};
- //Utskrift 1 blir epe
- char *p = &navn[1][0];
- for (int c = 0; c < 3; c++)
- cout << *(p + c -1);
- cout << endl;
- //Utskrift 2
- char (*p2)[3] = navn;
- for (int c = 0; c < 2; c++) {
- char *p3 = p2[c];
- for(int c2=2;c2>=0;c2--) //Bruk pekeren p3 slik at utskriften blir "elorep"
- cout << *(p3+c2);
- }
- cout << endl;
- return 0;
- }
- //OPPGAVE 2
- #include <iostream>
- #include <string>
- #include <vector>
- using namespace std;
- class Vare {
- public:
- Vare(const string& navn, size_t antall) : navn(navn), antall(antall) {}
- string navn;
- size_t antall;
- virtual double moms() const {
- return 0.25;
- }
- };
- class MatOgDrikkeVare : public Vare {
- public:
- MatOgDrikkeVare(const string& navn, size_t antall) : Vare(navn, antall) {}
- double moms() const {
- return 0.15;
- }
- };
- class Butikk {
- public:
- vector<Vare*> varer;
- ~Butikk() {
- for(auto v: varer) {
- delete v;
- }
- }
- };
- int main(int argc, char** argv) {
- Butikk HiSTButikken;
- HiSTButikken.varer.push_back(new MatOgDrikkeVare("HiST-nistepakken", 5));
- HiSTButikken.varer.push_back(new Vare("HiST-koppen", 10));
- cout << "Varenavn, antall, moms" << endl;
- for(auto v: HiSTButikken.varer) {
- cout << v->navn << ", " << v->antall << ", " << v->moms() << endl;
- }
- return 0;
- }
- //OPPGAVE 3
- #include <iostream>
- #include <string>
- using namespace std;
- string storeBokstaver(const string& streng) {
- string resultat=streng;
- for(auto& c: resultat) {
- if(c>=97 && c<=122)
- c-=32;
- }
- return resultat;
- }
- int main(int argc, char** argv) {
- cout << storeBokstaver("Testing123") << endl;
- return 0;
- }
- //OPPGAVE 4
- #include <iostream>
- using namespace std;
- class Sekund {
- public:
- const static unsigned int multiplikator=1;
- };
- class Minutt {
- public:
- const static unsigned int multiplikator=60;
- };
- class Time {
- public:
- const static unsigned int multiplikator=60*60;
- };
- template<class T>
- class Tid {
- public:
- unsigned int sekunder;
- Tid<T>(unsigned int enhet) : sekunder(enhet*T::multiplikator) {}
- Tid<T>& operator+=(unsigned int enhet) {
- this->sekunder+=enhet*T::multiplikator;
- return *this;
- }
- Tid<T> operator+(const Tid<Minutt>& tid_andre) {
- Tid<T> retur=*this;
- retur.sekunder+=tid_andre.sekunder;
- return retur;
- }
- Tid<T> operator+(const Tid<Time>& tid_andre) {
- Tid<T> retur=*this;
- retur.sekunder+=tid_andre.sekunder;
- return retur;
- }
- friend ostream& operator<<(ostream& stream, const Tid<T>& t) {
- return stream << t.sekunder;
- }
- };
- int main() {
- Tid<Sekund> sekunder(2);
- sekunder+=3;
- Tid<Minutt> minutter(2);
- minutter+=3;
- Tid<Time> timer(2);
- timer+=3;
- cout << "5 sekunder: " << sekunder << "s" << endl;
- cout << "5 minutter i sekunder: " << minutter << "s" << endl;
- cout << "5 timer i sekunder: " << timer << "s" << endl;
- cout << "5 sekunder + 5 minutter + 5 timer i sekunder: " << sekunder+minutter+timer << "s" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement