O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI
Fan : Algoritmlarni loyihalash
2– Laboratoriya ishi
Bajardi: 121-19 guruh talabasi
Qobulov Sardorbek
Tekshirdi: Baxromova Y.
Toshkent-2021
2-Лаборатория иши
1-жадвалдан вариант рақамизни танлаб, қуйидаги шартлар асосида вазифаларни бажаринг:
а) ЧДМ ни график усулида дафтарга чизиб ишланг
б) ЧДМ ни симплекс усулда ечиш алгоритми ва дастурини тузинг
12-variant:
Grafik usul:
Dastur kodi.
#include
using namespace std;
float min(float a[10],int n){ float min=a[0]; for(int i=1;i
if(min>a[i]) min=a[i]; } return min;}
float z(float x1,float x2){ return 4*x1-2*x2;}
int main(){
float a[10][10];
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cin>>a[i][j];} }
int m=0;
float b[10];
for(int i=0;i<2;i++){
for(int j=i+1;j<3;j++){
float x1,x2;
x2=(a[i][1]*a[j][0]-
a[j][1]*a[i][0])/(a[i][2]*a[j][0]-a[j][2]*a[i][0]); x1=(a[i][0]*a[j][1]-
a[j][0]*a[i][1])/(a[i][2]*a[j][1]-a[j][2]*a[i][1]);
b[m]=z(1/x1,1/x2);m++;} } cout<
/*
11111
3-128
5 -13 11
*/
2. Simpleks usul:
Dastur kodi:
const findMaxPositive = (arr) => { let max = Math.max(...arr); if(max > 0) {
let index = arr.indexOf(max);
return [true, index];};
return false;}
const findMinPositive = (arr) => {
let arr2 = arr.filter(el => el > 0); // arr2 ga arr ni filter qildim
let min = Math.min(...arr2);
if(min) {let index = arr.indexOf(min); return [true, index];}
return false;}
const divideArr = (arr, el) => {
return arr.map(element => element / el);}
console.log(findMinPositive([-1,2,-3,4,5,6])); const main = () => {
let test = [
[2, 2, -3, 1, 1, 0, 0],
[3, -3, 6, 0, 0, 1, 0],
[0, 1, -1, 1, 0, 0, 1]];
console.log(test); let S = [6, 15, 2];
let C = [-2, -3, -2, 1, 0, 0, 0]; let f = [0, 0, 0, 0, 0, 0, 0]; let F = [];
let natija = [0, 0, 0, 0]; let satr, ustun;
F = f.map((el, index) => el -= C[index] )
let cur_index = findMaxPositive(F);
ozod sonlarni berilgan indexdagi son turgan ustun elementlariga bo`lamiz
S = S.map((el1, index) => el1 /= test[index][cur_index[1]] );
ozod hadlarning eng kichik musbat elementi indeksini
olamiz
let ozod_min = findMinPositive(S);
ozod_min element turgan qatordagi cur_index element ustuni kesishmasidagi asosiy elementni olamiz
let main_el = test[ozod_min[1]][cur_index[1]];
test massivning ozod_min indeksidagi satr elementlarini main_el ga bo`lamiz
test[ozod_min[1]] = test[ozod_min[1]].map(el => el / main_el );
console.log(test);}// }
main();
Dastur natijasi:
Do'stlaringiz bilan baham: |