Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // main.cpp
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #include "Tablica.hpp"
- #include "Head.hpp"
- using namespace std;
- int main()
- {
- srand(static_cast<unsigned>(time(nullptr)));
- int wielkosc_tablicy;
- cin >> wielkosc_tablicy;
- Tablica nasza_tablica(wielkosc_tablicy);
- nasza_tablica.wypisz_tablice();
- cout << "\nWpisz wartosc, jaka chcesz dodac do tablicy: ";
- int nowa_wartosc;
- cin >> nowa_wartosc;
- nasza_tablica.dodaj_wartosc(nowa_wartosc);
- nasza_tablica.wypisz_tablice();
- cout << "\nWpisz nowy rozmiar dla istniejącej tablicy: ";
- int nowy_rozmiar;
- cin >>nowy_rozmiar;
- nasza_tablica.zmien_rozm(nowy_rozmiar);
- nasza_tablica.wypisz_tablice();
- cout <<"\nWpisz rozmiar tablicy, która będzie dodana do istniejącej: ";
- int rozm_dod;
- cin >>rozm_dod;
- //dod_tablica
- return 0;
- }
- // Tablica.cpp
- #include <cstdlib>
- #include <iostream>
- #include "Head.hpp"
- #include "Tablica.hpp"
- using namespace std;
- /*class Tablica
- {
- private:
- int* tab; //zmienne lepiej definiować w privite
- int rozmiar;
- public:
- Tablica(int);
- ~Tablica();
- void dodaj_wartosc(int); //obiekty lepiej definiowac w public
- void wypisz_tablice();
- void zmien_rozm(int);
- void dodaj_znaczenia(int);
- };*/
- Tablica::Tablica(int wielkosc) : rozmiar(wielkosc) // definicja konstruntora + def. rozmiaru
- {
- tab = new int[rozmiar]; // nie trzeba więcej wstawiać int*
- for(int i = 0; i < rozmiar; ++i)
- tab[i] = rand() % (MAKS + 1);
- }
- Tablica::~Tablica()
- {
- delete[] tab;
- cout << "Usunieto tablice\n";
- }
- void Tablica::dodaj_wartosc(int wartosc) //nowa wartosc (100)
- {
- int* tab1 = new int[rozmiar];
- for(int i = 0; i < rozmiar; ++i)
- tab1[i] = tab[i];
- delete[] tab;
- tab = new int[rozmiar + 1];
- tab[rozmiar] = wartosc;
- for(int i = 0; i < rozmiar; ++i)
- tab[i] = tab1[i];
- delete[] tab1;
- ++rozmiar; //mam wewnącz klasy dostęp do privite
- }
- void Tablica::zmien_rozm(int rozm2)
- {
- if(rozm2 < rozmiar)
- {
- int* temp = new int[rozm2];
- for(int i = 0; i < rozm2; ++i)
- temp[i] = tab[i];
- delete[] tab;
- tab = new int[rozm2];
- for(int i = 0; i < rozm2; ++i)
- tab[i] = temp[i];
- delete[] temp;
- }
- if(rozm2 > rozmiar)
- {
- int* temp = new int[rozmiar];
- for(int i = 0; i < rozmiar; ++i)
- temp[i] = tab[i];
- delete[] tab;
- tab = new int[rozm2];
- for(int i = 0; i < rozmiar; ++i)
- tab[i] = temp[i];
- for(int i = rozmiar; i < rozm2; ++i)
- tab[i] = 0;
- delete[] temp;
- }
- rozmiar = rozm2;
- }
- void Tablica::wypisz_tablice()
- {
- for(int i = 0; i < rozmiar; ++i)
- cout << tab[i] <<'\t';
- }
- #include <stdio.h>
- class Tablica
- {
- private:
- int* tab; //zmienne lepiej definiować w privite
- int rozmiar;
- public:
- Tablica(int);
- ~Tablica();
- void dodaj_wartosc(int); //obiekty lepiej definiowac w public
- void wypisz_tablice();
- void zmien_rozm(int);
- void dodaj_tablice(int);
- };
- #endif /* Tablica_hpp */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement