Laboratoriya ishi №1 Chiziqli va tarmoqlanuvchi algoritmlar



Yüklə 0,86 Mb.
tarix31.05.2022
ölçüsü0,86 Mb.
#116435
Laboratoriya ishi algoritmlash


Laboratoriya ishi № 1
Chiziqli va tarmoqlanuvchi algoritmlar
Topshiriq №1
NxM o’lchamdagi ikki o’lchovli massiv (matritsa) hosil qilinsin va elementlari kiritilsin va matritsa ko’rinishida ekranga chiqarilsin, hosil bo’lgan matritsa elementlaridan variantdagi shartlar bo’yicha bir o’lchovli massiv hosil qilinib ekranga chiqarilsin.

13. (nxm) o’lchamdagi ikki o’lchovli A massiv berilgan, matritsaning har bir satridagi manfiy elementlari sonidan tashkil topgan bir o’lchovli massiv hosil qiling.


#include
using namespace std;
int main(){
int n,m,i,j,sanagich;
cin>>n;
cin>>m;
int massiv[n][m];
for (i=0;i for (j=0;j cout<"< cin>>massiv[i][j];
}
}
int natija[n], k = 0;
for (i=0;i sanagich = 0;
for (j=0;j if (massiv[i][j] < 0){
sanagich++;
}

}
natija[k] = sanagich;
k++;
}
for (i=0;i cout< }
return 0;
}

Topshiriq №2


Berilgan integral qiymatini to‘g‘ri to‘rtburchaklar, trapetsiyalar va Simpson usullarida hisoblansin. (n=100 qiymatda natija olinsin). Har bir usul bo‘yicha har 10 qadamda n - qiymatda olingan natijalar quyidagi jadvalga to’ldirilib tahlil qilinsin.



To‘g‘ri to‘rtburchaklar usuli

#include


#include
using namespace std;
double f ( float x, float e)
{
return cos(3*x*x/5);
}
int main() {
int i, n;
float s=0.0, a, b, h,e=0.001;
cout << "a = "; cin >> a;
cout << "b = "; cin >> b;
cout << "n = "; cin >> n;
h=(b-a) / n;
for ( i=1; i<= n; i++)
s=s + h*f(a + h * (i-0.5), e);
cout << "S=" <}

Trapetsiyalar usuli


#include
#include
#include
#include
using namespace std;
double integral(double x){
float e=2.72;
return cos(3*x*x/5);}

int main(){


float a,b,n,h,s,Y;
cin>>a>>b>>n;
s=(integral(a)+integral(b))/2;
h=(b-a)/n;
for(int i=0;is+=integral((a+i*h)+h/2);
Y=h*s;
}
cout<}

Simpson usuli


#include
#include
using namespace std;
double f ( float x, float e)
{
return cos(3*x*x/5) ;
}
int main() {
int i, n;
float s, a, b, h,e=0.001 ;
cout << "a= "; cin >> a;
cout << "b= "; cin >> b;
cout << "n= "; cin >> n;
h=(b-a) / n;
s =h*(f(a, e)+f(b, e)) / 6.0;
for(i=1; i<= n; i++)
s=s + 4.0 / 6.0 * h * f(a + h*(i-0.5),e);
for(i=1; i<= n-1; i++)
s=s+2.0/6.0 * h * f(a + h * i, e);
cout << "S="<< s << "\n";
}

Topshiriq №3


Berilgan algebraik va transsendent tenglamalarni yechishda oraliqni teng ikkiga bo‘lish va vatarlar usullaridan foydalanib tenglamaning taqribiy ildizini 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001 aniqliklarda hisoblansin. Olingan natijalar quyidagi jadvalga to’ldirilib tahlil qilinsin.


Kesmani 2 ga bo’lish

#include


#include
#include
#include
using namespace std;
double compute(double x){
return cos(pow(x,3)-1)-0.3-1/(pow(x,4)+11);
}

int main()


{
int i;
double a,b, E, c;

cout<<"a ni kiriting:"; cin>>a;


cout<<"b ni kiriting:"; cin>>b;
cout<<"E ni kiriting:"; cin>>E;

if(compute(a)*compute(b)<0){


c=(a+b)/2;
for(i=1; fabs(compute(c))>E; i++){
c=(a+b)/2;
if(compute(a)*compute(c)<0){
b=c;
} else { a=c;}

}
cout<<"c="<
}
else{cout<<"oraliqda yechim yo'q";}

return 0;


}

Yüklə 0,86 Mb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin