Laboratoriya №2. Dinamiki massivlər. Funksiyaya massivlərin göstərici kimi ötürülməsi


Məsələn, aşağıdakı proqramda cube()



Yüklə 34,09 Kb.
səhifə3/4
tarix07.03.2023
ölçüsü34,09 Kb.
#123878
1   2   3   4
Laboratoriya 2. Dinamiki massivlərdən istifadə etməklə proqramlaşdırma

Məsələn, aşağıdakı proqramda cube() funksiyası hər bir massiv elementinin qiymətini həmin qiymətin kubuna çevirir. Cube() funksiyasını çağırarkən, massivin ünvanı birinci arqument kimi, ölçüsü isə ikinci olaraq verilməlidir.
#include
#include
using namespace std;
void cube(int *n, int num)
{
while (num)
{
*n = *n * *n * *n;
num--;
n++;
}
}
int main()
{
int i, nums[10];
for(i=0; i<10; i++) nums[i] = i+1;
cout << "ilkin massiv: ";
for(i=0; i<10; i++) cout << nums[i] << ' ';
cout << '\n';
cube(nums, 10); // kublarin hesablanmasi.
cout << "Mezmunun deyismesi: ";
for(i=0; i<10; i++) cout << nums[i] << ' ';
getch();
}
Funksiyalara ikiölçülü massvlərin ötürülməsi də eyni qaydada aparılır. İkiölçülü massivin hər bir sətri birölçülü massiv kimi qəbul edilir. Nümunəyə diqqət yetirək:
Misal: 3 sətir və 5 sütundan ibarət massivi 100-ə qədər təsadüfi ədədlərlə dolduran, massivi çap edən funksiya tərtib edin.
#include
using namespace std;
#include
void show(int *m[], int k1, int k2)
{
for(int i=0; i<3; i++)
{
for(int j=0; j<5; j++)
{
cout<< m[i][j] << "\t";
}
cout<<"\n";
}
cout<<"\n\n";
}
int main()
{
int mat[3][5];
int *p[3];
for(int i=0; i<3; i++)
{
for(int j=0; j<5; j++)
{ mat[i][j] = rand()%100;
}
cout<}
cout<<"\n\n";
for(int i=0; i<3; i++)
p[i]=mat[i];
show(p,3,5);
getch();
}


Yoxlama suallar

  1. Yaddaşda dinamik yer necə ayrılır?

  2. Dinamik massiv üçün yaddaşda yer necə ayrılır?

  3. Dinamik massiv üçün ayrılmış yaddaş necə azad edilir?

  4. İkiqat göstəricilərin sintaksisi və onların birqatdan fərqi nədir?


Yüklə 34,09 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin