Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Plain Text by inespe ( 13 years ago )
#include "stdafx.h"
#include <iostream>
//dodawanie do źródła zmiennych systemowych itd.

using namespace std;//jest to instrukcja, ktora importuje wszystkie identyfikatory z przestrzeni nazw std. 
//stosuje sie ja po to, aby nie trzeba bylo przed kazdym identyfikatorem z biblioteki standardowej 
struct Lab{
   int w;
};
// struktura Lab, ktora ma pole o nazwie "w", ktore jest typu int
void ini (Lab *&A) {
   A = new Lab;
}
//metoda ini, ktora przyjmuje strukture Lab i nie zwraca wyniku

void ini (Lab *&A , int n) {
   A = new Lab[n];
}
//definiowanie argumentów A i n
void ini (Lab **&A , int n){
   A = new Lab*[n];
   for (int i=0;i<n;i++) {
      A[i] = new Lab ;
   }
}
//petla bedzie sie powtarzac az do spelnienia warunku
void wypelnij (Lab &A) {
   A.w = 1;   
}
//przyrownujesz dane do argumentu obiektu
void wypelnij (Lab *&A) {
   A->w = 2;
}
////przyrownujesz dane do argumentu wskaznika
void wypelnij (Lab *&A , int n) {
   for (int i=0;i<n;i++) {
      A[i].w = 3 + i;
   }
}
void wypelnij (Lab **&A , int n) {
   for (int i=0;i<n;i++) {
      A[i]->w = 4 + i;
   }   
}
void print (Lab &A) {
   cout << "Obiekt. " << "w = "  <<A.w << endl;
}
//wyswietlasz strukture przekazana do funkcji
void print (Lab *&A) {
   cout << "wskaznik " << "w = "<< A->w << endl;    
}
//wystwietlasz wskaznik na obiekt
void print (Lab *&A , int n) {
   cout << "Tablica obiektow " << endl;
   for (int i=0;i<n;i++) {
      cout << "w = " << A[i].w << endl ;
   }
}
//petla dotyczac wczytywania tablicy obiektow
void print (Lab **&A , int n) {
   cout << "Tablica wskaznikow na obiekty " << endl;
      for (int i=0;i<n;i++) {
         cout << "w = " << A[i]->w << endl;
      }
}
//petla dotyczac wczytywania tablicy wskaznikow
void destroy (Lab *&A) {
   delete A;
}
void destroy (Lab *&A , int n) {
   delete []A;
}
//zwalniasz pamiec przypisana do tablicy wskaznikow
void destroy (int n , Lab **&A ) {
      for (int i=0;i<n;i++){
         delete A[i];
      }
   delete []A;
}
int _tmain(int argc, _TCHAR* argv[])
{
   Lab A , *b , *b1 , **c;
   wypelnij (A);
   print (A);
   ini (b);
   wypelnij (b);
   print (b);
   destroy (b);
   ini (b1 , 5);
   wypelnij (b1 , 5);
   print (b1 , 5);
   destroy (b1 , 5);
   ini (c , 5);
   wypelnij (c , 5);
   print (c , 5);
   destroy (5 , c);

//deklarujesz strukture Lab, dwa wskazniki na strutkure Lab i jeden wskaznik na wskaznik na strukture Lab

   return 0;
}

 

Revise this Paste

Your Name: Code Language: