Forum grupy T2 I Roku EiT


#1 2008-04-02 23:20:41

Mateusz Buczkowski

UÂżytkownik

1965860
Zarejestrowany: 2007-10-04
Posty: 23
Punktów :   

Informatyka 1 kwietnia

Byłby ktoś tak miły i pozwolił sobie wrzucić program, który był do napisania na zajęciach?
Z góry dzięki :]

Offline

 

#2 2008-04-03 09:47:52

Mateusz_Frąckowiak

UÂżytkownik

Zarejestrowany: 2007-10-04
Posty: 52
Punktów :   

Re: Informatyka 1 kwietnia

Kod:

#include <iostream>
using namespace std;

class aaa
{
private:
double *wsk;
int rozm;
public:

aaa(int roz): rozm(roz)               //konstruktor tworzący wskaźnik na tablice o rozmiarze "rozm"
        {
        wsk=new double[rozm];
        };

aaa(const aaa &klasa):rozm(klasa.rozm)    //konstr. kopiujący - przyjmuje w arg. inny obiekt klasy aaa
        {                               //w liscie inicjacyjnej przypisuje nowemu obiektowi rozmiar kopiowanego obiektu
        wsk=new double[rozm];          //tworze nowy wskaźnik na tablice o rozmiarze rozm
        for (int i=0;i<klasa.rozm;i++) // w tej pętli kopiuje odpowiednei elementy do nowej tablicy
                {
                wsk[i]=klasa.wsk[i];
                }
        };
~aaa()                     //destruktor - usuwa wskaźnik na tablice (zwalnia pamięc)
        {
        delete []wsk;
        };
aaa operator+ (aaa &kl)   //przeładowany operator dodawania. przyjmuje 2 arg. pierwszy to kl a drugi
        {                 // jest domyslny - obiekt klasy ktorej pmetodą jest to przeładowanie
        aaa wyn(rozm+kl.rozm);   //tworze wskaźnik na tablice wyniku (rozmiar jest sumą rozmiarów tabic
        for (int i=0;i<rozm;i++) wyn.wsk[i]=wsk[i];   //to nowego obiektu przsepisuje elementy pierwszej tab.
        for (int k=0;k<kl.rozm;k++) wyn.wsk[rozm+k]=kl.wsk[k]; //tu przepisuje elementy drugiej tab.
        return (wyn);    // zwracam nowy obeikt
        };
void wypisz ()        //metoda wypisująca elementy tablicy obiektu
        {
        for (int i=0; i<rozm;i++) cout<<i+1<<". "<<wsk[i]<<"\n";
        }  ;
void wpisz ()         //metoda do wpisywania elementów do tablicy
        {
        for (int i=0; i<rozm;i++)
                {
                cout<<i+1<<". ";
                cin>>wsk[i];
                }
        } ;
};


int main()
{
int a,b;

cout<<"podaj wielkosc pierwszej tab: ";          //podajemy wielkosc tablic
cin>>a;
cout<<"\npodaj wielkosc drugiej tab: ";
cin>>b;


aaa tab1(a), tab2(b);                       //tworzymy obiekty klasy aaa z tablicami o odpowiednich rozmiarach


cout<<"\nTablica pierwsza: \n";
tab1.wpisz();                             //wpisujemy elementy z obiektu pierwszego

cout<<"\nTablica druga: \n";              //wpisujemy elementy z obiektu drugiego
tab2.wpisz();


aaa *wynik;                            //wskaźnik na obiekt klasy aaa

*wynik=tab1+tab2;                     //wynik wskazuje na obiekt będący sumą tab1 i tab2

cout<<"\nWynik: \n";
wynik->wypisz();                    // wypisuje wynik
system("pause");
}

>> http://img80.imageshack.us/img80/5980/palylm4.jpg  <<

Offline

 

Stopka forum

RSS
Powered by PunBB 1.2.23
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
GotLink.plklej do luster