1. Dasturiy ta’minot va uning turlari



Download 14,99 Mb.
bet10/89
Sana22.07.2022
Hajmi14,99 Mb.
#838566
1   ...   6   7   8   9   10   11   12   13   ...   89
Bog'liq
Gost 2022

();
{ ;
;
return natija;}

16.Dasturlashda strukturalar. Strukturani e’lon qilish, boshlang’ich qiymat berish. Strukturalar massivi


Tayanch iboralar: Struktura, struktura e’loni, strukturani ishlatish, boshlang’ich qiymat berish, struktura funksiya parametri sifatida, strukturaga ko’rsatkich.

Ta‘rif: C++ dasturlash tilida bir yoki bir nechta turlarni jamlanmasini birlashtirish struktura deb nomlanadi. Strukturalarni ba‘zi hollarda yozuvlar ham deb ataladi, strukturalar tarkibidagi turlarning har biri maydon deb nomlanadi. C++ dasturlash tilida strukturalarni e‘lon qilishda struct xizmatchi so‗zidan foydalaniladi. Struktura e‘lon qilingandan so‗ng dastur tarkibida o‗zgaruvchilarni struktura nomi bilan e‘lon qilinadi. C++ dasturlash tilida strukturalarni tasvirlashning umumiy ko‗rinishi quyidagicha ko’rinishda bo’ladi:



Strukturalarni tasvirlashda struct xizmatchi so’zidan keyin struktura nomi va fegurali qavsda uning maydonlari kiritilishi shart. Masalan, talabalar haqida ma‘lumotlar bazasida struktura nomini talaba yoki supermarket mahsulotlari deb nomlash mumkin. Strukturalar yartish jarayonini tushunish uchun C++ dasturlash tilida talabalar haqida ma‘lumotlar bazasini struktura yordamida quyidagicha hosil qilinadi: Misol: Talabalar(familyasi, ismi, telefoni, reytingi, tug‘ilgan yili) haqida ma‘lumotlarga asosan c++ dasturlash tilida struktura hosil qiling.

. Struktura o’zgaruvchisini e‘lon qilishning umumiy ko’rinishi quyidagicha bo’ladi:

C++ dasturlash tilida strukturalarga murojat qilishning umumiy ko’rinishi quyidagicha bo’ladi: .


25. Sonli massiv berilgan. Unda bir xil qo’shni elementlar juftligini qanchaligini toping.
#include
using namespace std;
int main()
{ int n;
cin>>n;
int a[n];
for (int i=0;icin>>a[i]; }
int cnt=0;
for (int i=1;iif (a[i]==a[i-1])
cnt++; }
cout<return 0;}


26 Har xil M va N tartibli ikki bir o’lchamlimassiv va K (K

#include


using namespace std;
int main()
{ int m,n,j = 1;
cin >> m >> n;
float a[m+n],b[n+m];
for(int i = 1; i <= m; i++) {
cin >> a[i]; }
for(int i = 1; i <= n; i++) {
cin >> b[i];}
int k;
cin >> k;
for(int i = n+1; i <= m+n; i++) {
b[i] = a[k+1];}
for(int i = k+1; i <= k+n+m; i++) {
a[i] = b[j];
j++;}
for(int i = 1; i <= m + n; i++) {
cout << a[i] << " ";}
return 0;}
27. a1,a2,… ,an haqiqiy sonlar berilgan. Eng katta va eng kichik elementlar o’rnini almashtiring.
#include
using namespace std;
int main(){
int n, s = 0;
cin >> n; // 1
int a[n], min=INT_MAX, max=INT_MIN, min_index, max_index;
for (int i = 0; i < n; i++){ // n+1
cin >> a[i]; // n
if (max < a[i]){ //1
max=a[i]; //1
max_index = i; //1
}
if (min > a[i]){ // 1
min=a[i]; // 1
min_index = i; //1
}
}
swap(a[min_index], a[max_index]); // 1
return 0;
}
29. Nol va birlardan iborat a1,a2,…,an ketma-ketliklar berilgan. Bu ketma-ketliklarning boshiga nollarni, keyin birlarni qo’ying.
#include
using namespace std;
int main(){
long n, i, j;
cin >> n;
long a[n];
for (i = 1; i <= n; i++)
cin >> a[i];
for (i = 1; i < n; i++)
for (j = i + 1; j <= n; j++)
{
if (a[i] > a[j])
{
a[0] = a[i];
a[i] = a[j];
a[j] = a[0];
}
}
for (i = 1; i <= n; i++)
cout << a[i] << " ";
return 0;
}
30. Butun sonli massivning quyidagi shartni qanoatlantiruvchi elementlarini o’chiring: 2 ga bo’lganda qoldig’i 3 ga teng. Agar bunday elementlar yo’q bo’lsa, “O’chirish uchun elementlar topilmadi” degan xabar berilsin.
#include
using namespace std;
int main(){
long n, i, j;
cin >> n;
long a[n];
for (i = 1; i <= n; i++)
cin >> a[i];
cout<<"O’chirish uchun elementlar topilmadi";

return 0;


}
Izoh: sonni 2ga qoldiqli bo’lganda 3 qoldiq qolishi mumkin emas
31. 100 ta butun sondan iborat massiv berilgan. Bu massivda quyidagicha uchraydigan barcha sonlar qiymatini chiqaring:
a) bir necha marta;
b) faqat bir marta.
#include
using namespace std;
int main(){
int a[100];
for (int i = 0; i < 100; i++){ //101
cin >> a[i]; // 100
}
// a-qism
for (int i = 0; i < 100; i++){
for (int j = 0; j < 100; j++){
if (a[i] == a[j]){
cout << a[i] << " ";
break;
}}}
cout << "\n\n";
// b-qism
bool t=true;
for (int i = 0; i < 100; i++){
for (int j= 0; j < 100; j++){
if (a[i] == a[j]){
t = false;
break;
} }
if (t) cout << a[i] << " ";
} return 0;
}
32.Sizga bir o’lchamli butun sonlardan iborat massiv berilgan.Sizning vazifangiz bu massiv elementlarini modullari jihatdan kamaymaslik tartibida saralaydigan dastur tuzish.Agar modul jihatdan teng musbat va manfiy sonlar mavjud bo’lsa manfiy son oldinroq joylashtirilsin:Masalan:9 8 -9 2 -4 3>>>2 3 -4 8 -9 9;
#include
using namespace std;
int main()
{ int k=12;
Srand(time(NULL));
Int A[k], k1=k, k2=k1;
for(int i=0; i{A[i]=rand()%10;if(i%4==0)
A[i]=-A[i];cout<<” ”<if(i%4==0 cout<<”\n”;
}bool b=true;
While(b) {
b=false;
for(int i=0; i+1{if(fabs(A[i])>fabs(A[i+1]))
{swap(A[i] ,A[i+1]);b=true;}}k--;}
bool a=true;
while(a)
{a=false;
for(int i=0;i+1{if(fabsA[i])==fabs(A[i+1]))
{ifA[i]>=A[i+1])swap(A[i],A[i+1]);a=true;
}} k2--;}cout<<”\=============”<for(int i=0; ireturn0;
}
-4
9 5 4 -4
2 5 0 -1
1 6 4
===========
0 -1 1 2 -4 -4
4 4 5 5 6 9

33 Berilgan son Armstrong soni deyiladi, agar uning raqamlari yig’indisini n-darajaga ko’targanda shu sonning o’ziga teng bo’lsa. 1 dan k gacha bo’lgan barcha Armstrong sonlarini toping. Masalan, 512 soni Armstrong soni hisoblanadi. 5+1+2 = 8. 8ning 3-darajasi 512 ga teng.



34 Agar ikkita tub sonlar bir-biridan ikkiga farq qilsa, ular “egizaklar” deyiladi. Masalan, 41 va 43. Barcha 10000 dan oshmaydigan egizak tub sonlar juftliklarini topuvchi funksiyani yozing

35 Massivning barcha tub son bo’lgan elementlarini yangi massivga yozing. Yangi massivni dinamik ravishda e’lon qilib ishlating

37 Tasodifiy sonlar funksiyasi yordamida tuzilgan ikkita tartiblangan bir o‘lchovli massivlarda o‘xshash elementlarning sonini aniqlang. (Massivni tasodifiy sonlar funksiyasi yordamida tuzish, kamayish bo‘yicha tartiblash, so‘ngra esa solishtirish kerak).



41.Raqamlari qat’iy o’sish ketma-ketligida joylashgan n qiymatli barcha natural sonlarni toping (1234, 1278, 5678)

Download 14,99 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   ...   89




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.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