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()


Download 34.09 Kb.
bet3/4
Sana09.03.2023
Hajmi34.09 Kb.
#1254436
1   2   3   4
Bog'liq
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?


Download 34.09 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling