7-Laboratoriya ishi
Fan: Dasturlash
Guruh: 510-20
O'qituvchi: Gulmira Mirzayeva
Talaba: Rustamov Ilhom
Variant: 21-variant
.Topshiriq
6
|
Butun musbat k sonidagi raqamlar miqdorini va yig‘indisini hisoblaydigan Digitcountsum(k,n,s) nomli void turidagi funksiya tasvirlansin (k-kiruvchi, n va s – chiquvchi parametrlar bo’lib, ular butun turga tegishli). Bu funksiyadan foydalanib, berilgan 5 ta butun musbat sonning har biri uchun raqamlari miqdori va raqamlar yig‘indisi hisoblansin.
|
1-dastur:
#include
using namespace std;
void Digitcountsum (int k,int n,int s){
int p = k, n1 = 0, s1 = 0;
while(p) {
s1 += p % 10;
n1++;
p /= 10;
}
n = n1;
s = s1;
cout << k << " sonining raqamlari uchun" << endl;
cout << "Raqamlar miqdori " << n << endl;
cout << "Raqamlari Yig'indisi " << s << endl;
}
int main ()
{
int k, n, s;
for (int i = 0; i < 5; i++) {
cout << i + 1 << " - sonni kiriting: ";
cin >> k;
Digitcountsum(k, n, s);
cout << endl;
}
return 0;
}
2.Topshiriq
6
|
n ta elementdan tashkil topgan massiv berilgan.Bu massivning toq elementlari ko’paytmasi hisoblansin. (Ko’rsatkichlardan foydalaning)
|
2-dastur:
#include
using namespace std;
int main ()
{
int n, a[100000], q = 1;
cout << "Berilgan massiv elementlari sonini kiriting: ";
cin >> n;
cout << "Berilgan massivni kiriting: " << endl;
for (int i = 0; i < n; i++)
cin >> a[i];
int *p;
p = a;
for (int i = 0; i < n; i++)
if (*(p + i) % 2)
q *= (*(p + i));
cout << "Barcha toq elementlari ko'paytmasi " << q;
return 0;
}
3.Topshiriq
6
|
float * x;
Berilgan x vektor almashtirish usuli orqali kamaymaydigan ko'rinishda tartiblash tartiblansin. Bu usulda qo'shni elementlar xk va xk+1 (k=1, 2, 3, .. n-1) ketma-ket solishtiriladi va agarda xk>xk+1 bo'lsa, u holda bu elementlaring o'rni almashtiriladi; shu yo'l bilan eng katta element vektorning oxirida joylashib qoladi; shundan so'ng bu usul oxirgi elementdan tashqari hamma elementlarga qo'llaniladi va h.k.
Tartiblashning birorta qadamida elementlarni almashtirish ro’y bermasa tartiblash jarayoni to’xtatilsin.
|
3-dastur:
#include
using namespace std;
int main ()
{
int n;
cout << "Massiv elementlari sonini kiriting: ";
cin >> n;
float *x = new float[n];
cout << "Massiv elementlarini kiriting: " << endl;
for(int i = 0; i < n; i++)
cin >> x[i];
cout << "Massiv elementlari kamaymaydigan tartibda: " << endl;
for(int i = 0; i < n - 1; i++){
for(int j = i + 1; j < n; j++)
if(x[i] > x[j])
swap(x[i], x[j]);
cout << x[i] << " ";
}
cout << x[n-1];
delete [] x;
return 0;
}
4.Topshiriq
6
|
n o’lchamga ega (n>0), haqiqiy sonli a massivni quyidagi ko‘rinishda silliqlashni bajaruvchi Smooth1(n,a) nomli void turidagi funksiya tasvirlansin: Massivning ak elementi dastlabki k ta elementlarning o‘rta arifmetigi bilan almashtirilsin. Bu funksiya yordamida berilgan a massivda 5 karrali silliqlash bajarilsin va har bir silliqlash jarayoni chop etilsin.
|
4-dastur:
#include
using namespace std;
void Smooth1(int n, float *a) {
float s;
for (int i = n-1; i >= 1; i--) {
s = 0;
for (int j = 0; j < i; j++)
s+=a[j];
a[i] = s / i;
}
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << "\n\n";
}
int main () {
int n;
cout << "Massiv elementlari sonini kiriting: ";
cin >> n;
float *a = new float[n];
cout << "Massiv elementlarini kiriting: " << endl;
for(int i = 0; i < n; i++)
cin >> a[i];
cout << "Silliqlangan massiv elementlari: " << endl;
Smooth1(n, a);
Smooth1(n, a);
Smooth1(n, a);
Smooth1(n, a);
Smooth1(n, a);
delete [] a;
return 0;
}
Do'stlaringiz bilan baham: |