8-mavzu. C++ dasturlash tilida massivlar Reja


Massivning elementlari y^indisini va massiv elementlarining o’rta arifmetigini topish



Download 140,64 Kb.
bet4/4
Sana17.07.2022
Hajmi140,64 Kb.
#811865
1   2   3   4
Bog'liq
8 mavzu (1)

Massivning elementlari y^indisini va massiv elementlarining o’rta arifmetigini topish: Bunday xolda butun turdagi s o’zgaruvchisi olinib unga 0 berib kuyiladi va takrorlash operatori orqali

index o’zgaruvchisi 0 dan n-1 gacha uzgaradi. Massivning xar bir elementini s o’zgaruvchisiga yigib boramiz. CHikgan natijani 10 ga bo’lsak o’rta arifmetigi kelib chikadi;
int sum = 0;
for (index = 0; index < 10; index++)
sum = sum + sales[index]; average = sum / 10;
Massiv elementlaridan eng kattasini topishga doir:Bu
misolda butun turdagi maxIndex o’zgaruvchisini olib unga 0 berib kuyamiz va takrorlash operatorini 1 dan boshlaymiz va massivning nolinchi indeksili elementi bilan kolgan o’rindagi elementlari bilansolishtirib chikamiz, agar undan katta element chikib kolsa maxIndex o’zgaruvchisiga katta element indeksini olamiz va tekshirishni davom ettiramiz. Tekshirish natijasida bizga eng katta element indeksi paydo bo’ladi va shu o’rindagi elementini chop kilamiz;
maxIndex = 0;
for (index = 1; index < 10; index++) if (sales[maxIndex]< sales[index]) maxIndex = index; largestSale = sales[maxIndex];
Bu algoritmni massivning quyidagi qiymatlarida tekshirib ko’raylik:

Har bir qadamda ko’ramiz:

index

maxIndex

sales[maxIndex]

sales[index]

sales[maxIndex]

1

0

12.50

8.35

12.50 < 8.35isfalse

2

0

12.50

19.60

12.50 < 19.60is true; maxIndex = 2

3

2

19.60

25.00

19.60 < 25.00istrue;1 maxIndex = 3

4

3

25.00

14.00

25.00 < 14.00 is false

5

3

25.00

39.43

25.00 < 39.43is true; maxIndex = 5

6

5

39.43

35.90

39.43 < 35.90 is false

7

5

39.43

98.23

39.43 < 98.23 is true; maxIndex = 7

8

7

98.23

66.45

98.23 < 66.65 is false

9

7

98.23

35.64

98.23 < 35.64 is false-

for operatori bajarilgandan sung maxIndex=7 ga ten bo’ladi va bu massivning eng katta elementi joylashgan indeks xisoblanadi. Massivning bu indeksidagi qiymati
largestSale = sales[maxIndex]= 98.23.
Biz massiv e’lon qilishni, massiv elementlarini ukib olishni massiv eyelementlaridan kattasini topishni va elementlari yigindisini toppish algoritmlarini kurdik. Endi C++ da dasto’rini yozamiz:
#include
using namespace std;
int main() {
int item[5]; //Massiv elementlari beshta bulsin int sum; int counter;
cout << "Enter five numbers: "; sum = 0;
for (counter = 0; counter < 5; counter++)
{
cin >> item[counter]; sum = sum + item[counter];} cout << endl;
cout << "The sum of the numbers is: " << sum << endl;
cout << "The numbers in reverse order are: ";
//Qiymatlarni teskari tartibda chop qilish
for (counter = 4; counter >= 0; counter--)
cout << item[counter]<< " ";
cout << endl;
return 0; }
Dasto’rni ishga tushiramiz:
Beshta qiymatni kiritaylik: 12 76 34 52 89
Massiv elementlari yigindisi: 263
Massiv elemetlarini teskari tartibda chop etish: 89 52 34 76 12
5. Bir o’lchamli massivlarni initsializatsiyalash
Ixtiyoriy massiv e’lonida uning elementlariga boshlangich qiymatlar berish mumkin Bizga elementlari 5 ta bo’lgan xaqiqiy turdagi sales massivi berilgan bulsin:
o’lchami kursatilgan massiv elementlarini tulik initsiali-zatsiyalash:
double sales[5]= {12.25, 32.50, 16.90, 23, 45.68};
Bunda 5 ta elementdan iborat bo’lgan sales nomli xaqiqiy turdagi bir o’lchamli massiv e’lon qilingan va uning barcha elementlariga boshlangich qiymatlar berilgan.
Bunda massivning elementlari quyidagi qiymatlarni uzlashtiradi:
sales[0] = 12.25, sales[1] = 32.50, sales[2] = 16.90, sales[3] = 23.00, sales[4] = 45.68.
YUqoridagi misolda massivning initsializatsiya qilishda massiv o’lchami anikdangan, ammo massivning o’lchamini bermasdan xam uni initsializatsiya qilish mumkin, bunda massivning o’lchami berilgan qiymatlar sonidan aniklab olinadi.
double sales[]= {12.25, 32.50, 16.90, 23, 45.68};
Massiv elementlarini tulikmas initsializatsiya qilish
Massiv elementlarini e’lon qilish va bir vaktda massivning barcha elementlarini initsializatsiya qilish mumkin, ammo massivni initsializatsiya qilishda uning kisman elementlarini initsializatsiya qilish mumkin bunga massivni tulikmas initsializatsiya qilish deyiladi.
Misol: int list[10]= {0};
10 ta elementdan iborat bo’lgan massiv e’lon qiliniyapti ammo massivning barcha elementlariga 0 qiymat initsializatsiya qilinyapti;
int list[10]= { 8, 5, 12 };
10 ta elementladan iborat bo’lgan massiv e’lon qilinyapti va massivning quyidagi elementlari list[0]=8, list[1]=5 va list[2]=12 qiymatlar bilan kolgan elementlari 0 qiymat bilan initsializatsiya kiliyapti. Agar massivning o’lchami kursatilmagan bo’lsa:
int list[ ]={5, 6, 3};
YUqoridagi misolda massiv elementlar soni keltirilmagan bunda xolda massiv elementlari soni initsializatsiya qilinayotgan qiymatlar soni bilan aniklab olinadi, elementlar soni uchta va massivning list[0] element 5 ni, list[1] element 6 ni va list[2] element 3 ni oladi.
int list[25]={4 , 7};
Bunday xolda massivning birinchi ikkita elementlari 4 va 7 qiymatlarni kolgan elementlar 0 ni initsializatsiya kiladi.
int t[5]={-10,5,15};
Bu yerda fakat massiv boshidagi uchta elementga boshlangich qiymatlar berilgan. SHuni aytib utish kerakki, massivning boshidagi yoki o’rtasidagi elementlariga qiymatlar bermasdan, uning oxiridagi elementlarga boshlangich qiymat berish mumkin emas. Agarda massiv elementlariga boshlangich qiymat berilmasa, unda kelishuv buyicha statis va extern modifikatori bilan e’lon qilingan massiv uchun elementlarining qiymati 0 soniga teng deb, automatis massivlar elementlarining boshlangich qiymatlari noma’lum xisoblanadi.
int t[]={-10,5,15,4,3};
Bu misolda massivni barcha elementlariga qiymatlar berilgan xisoblanadi, massiv uzunligi kompilyator tomonidan boshlangich qiymatlar soniga karab aniklanadi. Agarda massiv uzunligi berilmasa, boshlangich qiymati berilishi shart.
Massivda musbat elemenlar soni va summasini xisoblash.
#include
#include
using namespace std;
void main() {
int x[]={-1;2;5;-4;8;9}; clrscr();
for (int s=0,int k=0, int I=0; I<6; I++) {
if (x[I]<=0)
continue;
k++;
C++; };
cout << ("%d",k); cout << ("%d",k);
getch();
Massivning eng katta, eng kichik elementi va o’rta qiymatini aniqlash: #include using namespace std;
void main() {
int I,j,n;
float a,b,d,x[100];
while(1) {
cout << ("\n n="); cin >> ("%i",&n);
if ( n > 0 && n < = 100 ) break;
cout << ("\n Xato 0}
cout << ("\n elementlar qiymatlarini kiriting:\n");
For (i=0; i{
cout << ("x[%i]=",i); cin >> ("%f",&x[i]);} max=x[0]; min=x[0];
for (s=0,i=0;i{
C++;
if (maxif (min>x[i]) min=x[i]; };
s /= n;
cout << (“n max=%f”,max);
cout << (“\n min=%f”,min);
cout << (“\n o’rta qiymat=%f”,s); }

Download 140,64 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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