Tizimli va amaliy dasturlashtirish kafedrasi


Download 444.58 Kb.
bet5/7
Sana03.12.2023
Hajmi444.58 Kb.
#1801673
1   2   3   4   5   6   7
Bog'liq
1-Mustaqil ish

C++ dasturlash tilida bir nechta dasturlarni ko‘rib o‘tamiz.
1-misol. n (n>0) butun son berilgan. Dastlabki n ta musbat juft sonlarni saqlaydigan n o‘lchamli butun sonli massiv tashkil etish dasturi.
Berilgan masalaning dastur kodi quyidagicha:
#include
using namespace std;
int main(){
int n; cout<<"n = "; cin>>n;
int a[n];
for(int i=0,k=2; i<=n; i++,k+=2)
a[i]=k;
for(int i=0; i
cout<
}
2-misol. Butun n (n>1) soni, arifmetik progressiyaning birinchi hadi a va uning ayirmasi d berilgan. Ulardan foydalanib, o‘zida arifmetik progressiyaning dastlabki n ta hadini saqlovchi massiv tashkil etish dasturi.
Berilgan masalaning dastur kodi quyidagicha:


#include
using namespace std;
int main(){
int a,d,n; cout<<"n = "; cin>>n;
int b[n];
cout<<"a = "; cin>>a;
cout<<"d = "; cin>>d;
for(int i=0,k=a; i<=n; i++,k+=a)
b[i]=k;
for(int i=0; i
cout<
}


3-misol. n (n>2) butun soni berilgan. f1=1, f2=1, fk=fk-2+fk-1, k=3,4, ... .
fk Fibonachchi sonlar ketma-ketligida birinchi n ta elementni o‘z ichiga oladigan n o‘lchamli butun sonli massivni ifodalash va chop etish dasturi.
Berilgan masalaning dastur kodi quyidagicha:
#include
using namespace std;
int main(){
int n; cout<<"n = "; cin>>n;
int a[n];
a[0]=1; a[1]=1;
for(int i=2; i
a[i]=a[i-1]+a[i-2];
for(int i=0; i
cout<
}
4-misol. n (n>2), a va b butun sonlar berilgan. 1-elementi a ga, 2-elementi b, har bir keyingi elementi barcha avvalgi elementlar (o‘zidan oldingi barcha element) yig‘indisiga teng bo‘lgan n o‘lchamli butun sonli massivni ifodalash va chop etish dasturi.

Berilgan masalaning dastur kodi quyidagicha:


#include
using namespace std;
int main(){
int n; cout<<"n = "; cin>>n;
int x[n];
int a, b;
cout<<"a = "; cin>>a;
cout<<"b = "; cin>>b;
x[0]=a; x[1]=b;
int s=a;
for(int i=2; i
s=s+x[i-1];
x[i]=s;
}
for(int i=0; i
cout<
}


5-misol. n o‘lchamli nol bo‘lmagan butun tipli a massiv berilgan. Uning aktengsizlikni qanoatlantiradigan birinchi ak elementining qiymatini chiqaruvchi dastur.
Berilgan masalaning dastur kodi quyidagicha:


#include
using namespace std;
int main(){
int n; cout<<"n = "; cin>>n;
int a[n];
for(int i=1; i<=n; i++)
cin>>a[i];
for(int i=1; i<=n; i++)
if (a[i]
cout<
break;
}
}
6-misol. n o‘lchamli butun sonli a massiv berilgan. Massivdagi barcha juft sonlar yangi butun tipli b massivga yozilsin. Hosil qilingan b massivning o‘lchami hamda uning elementlarini chiqarish dasturi.

Berilgan masalaning dastur kodi quyidagicha:


#include
using namespace std;
int main(){
int n, k=0; cout<<"n = "; cin>>n;
int a[n], b[n];
for(int i=1; i<=n; i++)
cin>>a[i];
for(int i=1; i<=n; i++)
if (a[i]%2==0){
k++;
b[k]=a[i];
}
cout<
for(int i=1; i<=k; i++)
cout<
}


7-misol. n o‘lchamli butun tipli massiv berilgan. Birinchi juft sonning dastlabki qiymatini massivdagi barcha juft sonlarga ko‘paytirish (Agar massivda juft son bo‘lmasa, massiv o‘zgartirishsiz qoldirilsin) dasturi.
Berilgan masalaning dastur kodi quyidagicha:


#include
using namespace std;
int main(){
int n, k; cout<<"n = "; cin>>n;
int a[n], b[n];
for(int i=1; i<=n; i++)
cin>>a[i];
for(int i=1; i<=n; i++)
if (a[i]%2==0) {
k=a[i];
break;
}
for(int i=1; i<=n; i++)
if (a[i]%2==0) a[i]=k*a[i];
for(int i=1; i<=n; i++)
cout<
}
Ikki o‘lchovli massivlar. Agar ma’lumotlarni jadval ko‘rinishida, ya’ni satrlar va ustunlar formatida saqlash talab etilsa, unda ikki o‘lchovli massivlardan foydalanish lozim bo‘ladi.
2 - jadvalda to‘rt qatorli va beshta ustundan iborat massiv berilgan. Bu ikki o‘lchovli massiv hisoblanadi. Undagi qatorlarni birinchi o‘lchov, ustunlarni ikkinchi o‘lcham deb hisoblash mumkin. Ushbu jadvalda saqlangan ma’lumotlarga
murojaat qilish uchun massiv nomini va ikkita indeksni ko‘rsatish kerak bo‘ladi. Bunda indeksning birinchisi satr raqamiga, ikkinchisi kerakli element saqlanadigan ustun raqamiga to‘g‘ri keladi.
2-jadval

Ikki o‘lchovli massiv – bu matritsa hisoblanadi, uning har bir elementi ikkita indeksga ega: qator raqami – i, ustun raqami – j.
Umumiy holda ikki o‘lchovli massiv quyidagicha e’lon qilinadi:
[n] [m] = { boshlang‘ich qiymatlar };
Bu yerda toifa massiv elementlari turini belgilaydi, massivning nomi, n – satrlar soni, m – massivning ustunlar soni. Satrlar 0 dan n - 1 gacha, ustunlar esa 0 dan m - 1 gacha raqamlangan.
Masalan: double m[5][7];
Bunda satrlar soni 5 ta va ustunlari soni 7 ta bo‘lgan haqiqiy sonli m massiv e’lon qilingan, satrlar 0 dan 4 gacha, ustunlar 0 dan 6 gacha raqamlangan.
Ixtiyoriy o‘zgaruvchiga o‘xshab, matritsaga ham boshlang‘ich qiymat berilishi mumkin, masalan: int B[2][3] ={{2,3,4}, {7,8,9}};
Matritsa elementiga murojaat qilish uchun uning nomiga, to‘rtburchak qavslarda qator va ustun soni ko‘rsatilishi lozim. Masalan, a [2] [4]- uchinchi satrda va beshinchi ustunda joylashgan a matritsaning elementi degan ma’noni bildiradi.
Matritsa elementlari bilan ishlash uchun ikkita takrorlanishdan foydalanish talab etiladi. Matritsani qayta ishlash uchun birinchi (tashqi) sikl parametrining qiymatlari matritsa satrlari sonlari, ikkinchi (ichki) sikl parametri qiymatlari esa ustunlar raqamlarini anglatadi (1-rasm). Matritsa elementlariga ishlov berishda
tartib bilan birinchi qator (ustun) elementlari, so‘ngra ikkinchisi va boshqalar oxirigacha ko‘rib chiqiladi. Agar matritsani ustunlar bo‘yicha qayta ishlash zarur bo‘lsa, tashqi siklni ustunlar bilan, ichki siklni qatorlar bo‘yicha tashkil qilish kerak (2-rasm).




Download 444.58 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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