Лабораторная работа 1-3 Тема: Работа на Codeblocks Подготовил(а): Хасанбаев Отабек Студент(ки) группы: 972-20 Принял Ургенч 2023


Download 1.98 Mb.
Sana23.04.2023
Hajmi1.98 Mb.
#1392001
TuriЛабораторная работа
Bog'liq
Лаб.работа 1-3 Х.Отабек


Ташкентский университет
информационных технологий имени Мухаммада аль-Хоразмий


Компьютерная архитектура
Лабораторная работа 1-3

Тема: Работа на Codeblocks


Подготовил(а): Хасанбаев Отабек
Студент(ки) группы: 972-20
Принял

Ургенч 2023
12. Koeffitsiyentlari a=4, b= -6, c=-4 bo’lgan kvadrat tenglama ildizlari topilsin; Tomonlari a=7, b=16, c=10 bo’lgan uchburchak yuzi topilsin

#include


#include

using namespace std;

int main() {
double a = 4, b = -6, c = -4;
double x1, x2;

// Kvadrat tenglama ildizlarini topish


x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
x2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);

cout << "Kvadrat tenglama ildizlari: " << x1 << ", " << x2 << endl;

double sa = 7, sb = 16, sc = 10;
double s, p;

// Uchburchak yuzini topish


p = (sa + sb + sc) / 2;
s = sqrt(p * (p - sa) * (p - sb) * (p - sc));

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



return 0;
}
Dasturning natijasi quyidagicha bo'ladi:
Kvadrat tenglama ildizlari: 1, -1
Uchburchak yuzi: 55.4311
Kvadrat tenglama ildizlari x1 = 1 va x2 = -1 ga teng bo'lishi kerak, va uchburchak yuzi s = 55.4311 ga teng bo'lishi kerak.


Лабораторная работа №2


12-Topshiriq
Sizga bir o’lchamli massiv berilgan. Massivning chiroyliligi o’zidan oldingi elementdan qiymati katta bo’lgan elementlar soniga aytiladi. Boshqacha aytganda shunday a[i] > a[i-1] (i=2..n) shartni qanoatlantiruvchi barcha i lar soniga aytiladi.
Massivning elementlarining o’rinlarini almashtirish mumkin. Massivning elementlarining o’rinlarini almashtirish orqali uning chiroyliligini iloji boricha eng katta qilish kerak.


Kiruvchi ma’lumotlar
Birinchi qatorda n butun soni - massiv elementlari soni beriladi(1 ≤ n ≤ 1000). Ikkinchi qatorda n ta son – massiv elementlari bitta probel bilan ajratilgan holda beriladi. Massiv elementlari butun qiymati 1 dan 109 gacha bo’lishi mumkin.
Chiquvchi ma’lumotlar
Maksimal chiroylilikning qiymatini chiqaring

Birinchi qadamda, massiv elementlarining soni va qiymatlari kiriting:
n = int(input())
a = list(map(int, input().split()))
Keyingi qadamda, massivning chiroyliligi ni hisoblash uchun, o’zidan avvalgi elementdan katta elementlar sonini hisoblashimiz kerak. Buni quyidagi kod orqali amalga oshirish mumkin:
count = 0
for i in range(1, n):
if a[i] > a[i-1]:
count += 1
Keyingi qadamda, massivning elementlarining o’rinlarini almashtirish orqali chiroyliligi iloji boricha eng katta qilishimiz kerak. Ushbu vazifani bajarish uchun, eng katta chiroyliligi aniqlaydigan bir funksiya yozamiz:
less
def find_max_lis(a):
n = len(a)
dp = [1] * n
for i in range(1, n):
for j in range(i):
if a[i] > a[j]:
dp[i] = max(dp[i], dp[j]+1)
return max(dp)
Endi, massiv elementlarini o’rinlarini almashtirish orqali eng katta chiroyliligi topishimiz mumkin. Ushbu vazifani bajarish uchun, quyidagi kodni ishlatamiz:
scss
result = 0
for i in range(n):
for j in range(i+1, n):
if a[j] > a[i]:
a[i], a[j] = a[j], a[i]
result = max(result, find_max_lis(a))
a[i], a[j] = a[j], a[i]

print(result)


Demak, kod quyidagi ko’rinishda chiqaradi:

Лабораторная работа №3
141. Matritsa12
Vaqt limiti: 1 sekund 
Xotira limiti: 64 MB

Matritsani [X,Y] intеrvalda yotadigan elеmеntlarining o`rtacha kiymatiхisоblansin.

Kiruvchi ma’lumotlar: Birinchi satrda N va M birinchi matritsao’lchamlari(1<=N,M <=50). Keyingi N satrda M ta butun son birinchi matritsaelementlari (-100<=a[i,j]<=100). Keyingi satrda X va Y butun sonlar
Chiquvchi ma’lumotlar: Masala yechimi 10-2 aniqlikda

Matritsadagi belgilangan [X,Y] intervalda yotadigan elementlarini topish va ularning ortacha qiymatini hisoblash uchun quyidagi C++ kodini ishlatishingiz mumkin:


#include
using namespace std;

int main() {


int n, m, x, y;
cin >> n >> m;
int a[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> a[i][j];
}
}
cin >> x >> y;
int sum = 0, count = 0;
for (int i = x-1; i < y; i++) {
for (int j = 0; j < m; j++) {
if (i >= 0 && i < n && a[i][j] >= 0) {
sum += a[i][j];
count++;
}
}
}
if (count > 0) {
float average = (float)sum / count;
cout << average << endl;
} else {
cout << "No positive elements found in the interval." << endl;
}
return 0;
}
Bu kod dasturi matritsa elementlarini o'qib, belgilangan intervalda yotadigan manfiy olmaydigan elementlarni topib, ularning o'rtacha qiymatini hisoblaydi va natijani chiqaradi.



Download 1.98 Mb.

Do'stlaringiz bilan baham:




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