Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ctime>
- #include <cstdio>
- #include <cstdlib>
- class Obliczenia {
- private:
- int n;
- int *liczby;
- public:
- Obliczenia(int ileLiczb)
- { // konstruktor
- this->n = ileLiczb;
- this->liczby = new int [ileLiczb];
- for(int i=0; i<ileLiczb; i++) this->liczby[i] = rand() % 200 - 99;
- printf("Utworzono obiekt klasy Obliczenia, ilosc liczb: %d\n", ileLiczb);
- }
- int suma()
- { // suma liczb
- int res = 0;
- for(int i=0; i<this->n; i++) res += this->liczby[i];
- return res;
- }
- int iloczyn()
- { // iloczyn liczb parzystych
- int res = 1;
- for(int i=0; i<this->n; i++) if(this->liczby[i] % 2 == 0) res *= this->liczby[i];
- return res;
- }
- void wyswietl()
- { // wyswietlanie liczb
- int *p = this->liczby;
- printf("Wyswietlam liczby: ");
- for(int i=0; i<this->n; i++)
- {
- printf("%d ", *p);
- p++;
- }
- printf("\n");
- }
- void adresy()
- { // wyswietlanie adresow tablicy
- printf("Adresy liczb w pamieci: ");
- int *p = this->liczby;
- for(int i=0; i<this->n; i++)
- {
- printf("%p ", p);
- p++;
- }
- printf("\n");
- }
- void zamien(int &low, int &high)
- { // zamiana low & high
- if(low > high)
- {
- int tmp = low;
- low = high;
- high = tmp;
- }
- }
- void wyswietl_oddo(int lowIndex, int highIndex)
- { // wyswietla elementy o indeksach [low;high]
- int low = lowIndex;
- int high = highIndex;
- // korekcja wartosci
- if(low > high) zamien(low, high);
- printf("Elementy o indeksach [%d, %d]: ", low, high);
- for(int i=low; i<=high; i++)
- {
- if(i >= 0 and i < this->n) printf("%d ", this->liczby[i]);
- }
- printf("\n");
- }
- ~Obliczenia()
- { // destruktor
- printf("\nUsunieto obiekt klasy Obliczenia.\n\n");
- }
- };
- int main()
- {
- srand(time(NULL));
- Obliczenia obiekt_s(5);
- Obliczenia *obiekt_d = new Obliczenia(5);
- printf("\n\n----------- OBIEKT STATYCZNY -----------\n\n");
- obiekt_s.wyswietl();
- obiekt_s.adresy();
- printf("Suma liczb: %d\n", obiekt_s.suma());
- printf("Iloczyn liczb: %d\n", obiekt_s.iloczyn());
- obiekt_s.wyswietl_oddo(3, 400);
- printf("\n----------- OBIEKT DYNAMICZNY -----------\n\n");
- obiekt_d->wyswietl();
- obiekt_d->adresy();
- printf("Suma liczb: %d\n", obiekt_d->suma());
- printf("Iloczyn liczb: %d\n", obiekt_d->iloczyn());
- obiekt_d->wyswietl_oddo(1, 4);
- delete obiekt_d;
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement