1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot



Download 0,66 Mb.
bet106/121
Sana29.12.2021
Hajmi0,66 Mb.
#83735
1   ...   102   103   104   105   106   107   108   109   ...   121
Bog'liq
1 – dars. C Dasturlash tilining kelib chiqishi xaqida ma’lumot

77 - DARS. SHABLON YARATISH.
Misol uchun massiv sinfi yaratilib bu sinfda massivning summasini va o’rta qiymatini hisoblash usullari mavjud bo’lsin. Agar siz int tipida gi massiv bilan ishlayotgan bo’lsangiz sinf ta'rifi qo’yidagicha bo’lishi mumkin:

class array

{

public:


array(int size);

long sum(void);

int average_value(void);

void show_array(void);

int add_value(int);

private:


int *data;

int size;

int index;

};

Qo’yidagi I_ARRAY.CPP dasturda array sinfidan int tipidagi massivlar bilan ishlash uchun foydalanilgan.



#include

#include

class array

{

public:



array(int size);

long sum(void);

int average_value(void);

void show_array(void);

int add_value(int) ;

private:


int *data;

int size;

int index;

};

array::array(int size)



{

data = new int [size];

if (data == NULL)

{

cerr << "Nedostatochno pamyati - programma zavershaetsya " << endl;



exit(l);

}

array:: size = size;



array::index = 0;

}

long array::sum(void)



{

long sum = 0;

for (int i = 0; i < index; i++) sum += data[i];

return(sum);

}

int array::average_value(void)



{

long sum = 0;

for (int i = 0; i < index; i++) sum += data[i];

return (sum / index);

}

void array::show_array(void)



{

for (int i = 0; i < index; i++) cout << data[i] << ' ';

cout << endl;

}

int array::add_value(int value)



{

if (index == size) return(-1); // massiv polon

else

{

data[index] = value;



index++;

return(0); // uspeshno

}

}

void main(void)



{

array numbers (100); // massiv iz 100 el-tov

int i;

for (i = 0; i < 50; i++) numbers.add_value(i);



numbers.show_array();

cout << "Summa chisel ravna " << numbers.sum () << endl;

cout << "Srednee znachenie ravno " << numbers.average_value() << endl;

}

Dasturda avval massiv 100 elementi taqsimlanadi. So’ngra massivga 50 qiymat add_value. Usuli yordamida yoziladi. Qo’yidagi array sinfida index o’zgaruvchisida massivda saqlanuvchi elementlar soni yoziladi. Agar massiv sig’dirishi mumkin bo’lgan elementlar sonidan ortiq elemetlar yozishga urinilsa add_value funktsiyasi hato haqida ma'lumot qaytaradi. Ko’rinib turibdiki average_value funktsiyasi index o’zgaruvchisidan massiv elementlari soni o’rta qiymatini aniqlashda foydalaniladi. Dastur new operatoridan foydalanilgan.



Agar dasturda haqiqiy qiymatli massivlar binoan ishlash zarur bulsa Yangi sinf yaratishga to’g’ri keladi. Sinflarni kupaytirmaslik uchun sinflar shablonlaridan foydalanish mumkin. Qo’yida umumiy array sinfi shabloni keltirilgagn:

template class array

{

public:


array(int size);

T1 sum (void);

T average_value(void);

void show_array(void);

int add_value(T);

private:


T *data;

int size;

int index;

};


Download 0,66 Mb.

Do'stlaringiz bilan baham:
1   ...   102   103   104   105   106   107   108   109   ...   121




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish