Амалий иш 1 971-20-гурухи талабаси


Download 1.55 Mb.
Sana07.04.2023
Hajmi1.55 Mb.
#1337033
Bog'liq
Алгаритмни


Амалий иш – 1
971-20-гурухи талабаси
Мохира Аллаярова
Мавзу:

  1. Kvadrat tenglama ildizlarini aniqlash algoritmi.

  2. Uchburchak yuzasi uchun Geron formulasi.

Amaliyot topshiriq: - 3
Koeffitsiyentlari a=-1, b= -6, c=3 bo’lgan kvadrat tenglama ildizlari topilsin; Tomonlari a=2, b=9, c=7 bo’lgan uchburchak yuzi topilsin.
kvadrat tenglama ildizlari topish dasturi:
1)
#include
#include
#include
using namespace std;

int main()

{
cout << "quyidagi ko'rinishdagi kvadrat tenglama" << "\n" << "ax^2+bx+c=0" <cout << "a 0 ga teng bo'lmasin" << endl;
float a,b,c,x1,x2,D;

cout << "a = ";cin>> a;


cout << "b = ";cin>> b;
cout << "c = ";cin>> c;

D=pow(b,2)-4*a*c;


if(D>0)
{
x1=(-b+sqrt(D))*1./(2*a);
x2=(-b-sqrt(D))*1./(2*a);
cout << "x1=" << x1 << endl;
cout << "x2=" << x2 << endl;
}
if(D==0)
{
cout << "Diskriminant 0 ga teng bo'lganda bitta ildizga ega"<< endl;

x1=-b*1./(2*a);

cout <<"x1=" << x1<< endl;
}
if(D<0)
{
cout << "yechimga ega emas";
}
return 0;
}

Natija:b
u




2) Uchburchak yuzasi uchun topish dasturi:

#include
#include

using namespace std;

int main() {
// Uchburchak tomonlari a, b, va c
double a = 2, b = 9, c = 7;
double s, p; // Uchburchak yuzi va perimetri uchun o'zgaruvchilar

// Uchburchak perimetri


p = a + b + c;

// Uchburchak yuzi, Heron formula ishlatilarak topiladi


double p_half = p / 2; // nusxa perimetrini topish
s = sqrt(p_half * (p_half - a) * (p_half - b) * (p_half - c));

cout << "Uchburchak perimetri: " << p << endl;


cout << "Uchburchak yuzi: " << s << endl;

return 0;


}




Natija bu:






3) x3 +3x-4=0

#
include
#include

using namespace std;

int main() {
double x, y;
double eps = 1.0e-6; // qaror qilingan epsilon qiymati
x = 1.0; // boshlang'ich qiymat
y = x*x*x + 3*x - 4; // berilgan tenglama natijasi
while (fabs(y) > eps) { // epsilon qiymatidan kichik bo'lmaguncha
x = x - y / (3*x*x + 3);
y = x*x*x + 3*x - 4;
}
cout << "Tenglama yechimi: x = " << x << endl;
return 0;
}


Амалий иш – 2


3-Topshiriq
Sizga n ta kasr o’zining surat va maxrajining qiymati orqali berilgan. Sizningvazifangiz bu kasrlarni qiymati bo’yicha o’sish tartibida saralashdan iborat. Agarbirnechta kasrning qiymatlari teng bo’lsa ularning birbiriga nisbatan tartibi kiruvchima’lumotlarda berilgan tartibda qoldirilsin.
Kiruvchi ma’lumotlar
Birinchi qatorda n natural soni berilgan(1≤n≤100). Keyingi n ta qatorda har biridanavbatdagi kasrning surat va mahraji bitta probel bilan ajratib berilgan. Surat va mahrajqiymatlari 1 dan 109 gacha bo’lishi mumkin.
Chiquvchi ma’lumotlar
Dastlabki n ta qatorda saralangan kasrlarning surat va mahrajlarini bitta probel bilanajratib chiqaring.
Misollar
№ 1
Kiruvchi ma’lumotlar
4
1 2
1 3
2 4
2 10

Chiquvchi ma’lumotlar


2 10
1 3


1 2
2 4

#include


#include
#include
using namespace std;

struct Fraction {


int numerator;
int denominator;
};

bool compareFractions(const Fraction& a, const Fraction& b) {


if(a.numerator * b.denominator == b.numerator * a.denominator) {
return a.denominator < b.denominator;
}
return a.numerator * b.denominator < b.numerator * a.denominator;
}

int main() {


int n;
cin >> n;

vector fractions(n);

for(int i = 0; i < n; i++) {
cin >> fractions[i].numerator >> fractions[i].denominator;
}

sort(fractions.begin(), fractions.end(), compareFractions);

for(int i = 0; i < n; i++) {
cout << fractions[i].numerator << "/" << fractions[i].denominator << " ";
}

cout << endl;

return 0;
}








Амалий иш – 3


3-Topshiriq
3-Topshiriq. Sizga uzunligi 500 dan oshmaydigan matn berilgan. Sizni vazifangiz shu matndagi kichik xarflarni kattasiga, katta xarflarni kichigiga aylantirishdan iborat. Kiruvchi ma’lumotlar:Katta va Kichik lotin alifbosidagi xarflar va probel berilishi mumkin. Chiquvchi ma’lumotlar: masala yechimi
Kiruvchi ma’lumotlar tatu
UrGanch filial
alGo uz
Chiquvchi ma’lumotlar tatu
TATU uRgANCH FILIAL
ALgO UZ
#include
#include
using namespace std;
int main() {
char text[500];
cout << "Matnni kiriting: ";
cin.getline(text, 500);
for(int i = 0; i < strlen(text); i++) {
if(text[i] >= 'a' && text[i] <= 'z') {
text[i] = text[i] - 32;
} else if(text[i] >= 'A' && text[i] <= 'Z')
{
text[i] = text[i] + 32;
}
}
cout << "Natija: " << text << endl;
return 0;
}



Download 1.55 Mb.

Do'stlaringiz bilan baham:




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