Misal 2. Tam ədəd üçün yaddaşın ayrılması və inisiallaşdırması
//dinamik dəyişənin inisiallaşdırması
#include using namespace std; int main( ) {int*p; p=new int(9); //9-başlanğıc qiyməti verilir if(!p){ cout<<”yaddaşın ayrılmasında səhv var \n”; return 1; }
cout<<”p-nın göstərdiyi tam ədəd:”<<*p<<”\n”; delete p; //yaddaşın azad olunması return 0; }
Misal 3. Aşağıdaki proqramda dinamik massiv üçün yaddaş sahəsinin ayrılması və azad olunması nümayış etdirilmişdir:
//Dinamik massivin təşkilinə aid misal
#include using namespace std; int main( ) {int*p; p=new int[5]; //5-tam ədəd üçün yaddaşın ayrılması //yaddaşın ayrılmasına əmin olmaq üçün yoxlayaq
if(!p){ cout<<”yaddaşın ayrılmasında səhv var \n”; return 1; } int i; for(i=0; i<5; i++)p[i]=i; for(i=0; i<5, i++) { cout<<”Göstəricinin göstərdiyi tam ədəd p[“<
cout<
} delet[ ]p; //yaddaşın azad olunması return 0; } Bu proqramın işləməsi nəticəsində ekranda aşağıdakilar alınar:
Göstəricinin göstərdiyi tam ədəd p[0]: 0
Göstəricinin göstərdiyi tam ədəd p[1]: 1
Göstəricinin göstərdiyi tam ədəd p[2]: 2
Göstəricinin göstərdiyi tam ədəd p[3]: 3
Göstəricinin göstərdiyi tam ədəd p[4]: 4.
Məsələlər. 1. Operativ yaddaşda int x[10] vektoru B7F0 ünvanından başlayaraq yerləşmişdir. İfadələr hansı qiymətləri alar:
a) x+1; b) x+5; c) x-4? 2. Proqramda massiv elan olunmuşdur:
int P[ ]={0, 2, 4, 5, 6, 7, 9, 12}; İfadə hansı qiymətləri alar:
a) P[3]; b) *P; c) *(P+4); d) *(P+P[2])? 3.a, b, c-dəyişənlərini artma sırasına görə nizamlayan funksiya təşkil edin.
4. Tam qiymətli bir ölçülü massivi o:n diapozonunda təsadüfi ədədlərlə dolduran funksiya yazın.
5. Həqiqi tipli bir ölçülü massivin elementlərinin ədədi ortasını tapan funksiya təşkil edin. Bu funksiyanı əsas proqramda elə istifadə edin ki, verilmiş matrisdə ən böyük ədədi ortaya malik sətir təyin edilsin.