MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Amaliy ish
Bajardi: guruh talabasi
TOSHKENT 2022
Mavzu: Ikki o‘lchovli statik massivlar, ko‘rsatkichlar va dinamik xotira bilan ishlash. Ko‘rkatkichlar. Dinamik xotira bilan ishlash. Dinamik massiv va ularni funksiya parametri sifatida qo‘llanilishi 12-variant Butun turdagi 10- tartibli kvadrat matritsa ortonormal yoki yo‘qligi
aniqlansin. Matritsa ortonormal deyiladi, agar turli satrlari skalyar
ko‘paytmasi 0 ga teng va satrni o‘z-o‘ziga ko‘paytmasi 1 ga teng bo‘lsa.
#include using namespace std;
bool isOrthogonal(int a[10][10],
int m, int n)
{
if (m != n)
return false;
int prod[n][n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
int sum = 0;
for (int k = 0; k < n; k++)
{
sum = sum + (a[i][k] * a[j][k]);
}
prod[i][j] = sum;
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (i != j && prod[i][j] != 0)
return false;
if (i == j && prod[i][j] != 1)
return false;
}
}
return true;
}
int main()
{
int a[10][10];
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
a[i][j] = rand() % 10;
}
}
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
cout << a[i][j] << "\t";
}
cout << endl;
}
cout << endl;
if (isOrthogonal(a, 10, 10))
cout << "Bu matritsa ortonormal";
else cout << "Bu matritsa ortonormal emas";
return 0;
}
Vazifa: Ko’rsatkichlar orqali o’zgaruvchilarni e’lon qiling. Variantda ko’rsatilgan
misollar ustida bajariladigan amallarning dasturini tuzing.
n ta elementdan tashkil topgan massiv berilgan.Bu massivning eng katta va
eng kichik elementlari yig’indisi hisoblansin. (Ko’rsatkichlardan
foydalaning)
#include using namespace std;
int main()
{
int n;
cout << "n = ";
cin >> n;
int a[n];
int max, min;
for (int i = 0; i < n; i++)
{
a[i] = rand() % 101 + 1;
}
max = a[0];
min = a[0];
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
for (int i = 0; i < n; i++)
{
if (max < a[i])
{
max = a[i];
}
else if (min > a[i])
{
min = a[i];
}
}
cout << endl;
cout << "max = " << max << endl;
cout << "min = " << min << endl;
cout << "max+min = " << max + min << endl;
}
Vazifa: Quyidagi masalalar uchun dasturlar tuzilsin:
Matritsaning elementi egar nuqta deyiladi, agarda u bir vaqtning o'zida shu
element joylashgan satrdagi eng kichik va ustundagi eng katta bo'lsa yoki
teskari, joylashgan satrdagi eng katta va ustundagi eng kichik bo'lsa.
Berilgan n*m o'lchamli butun turdagi dinamik hfdbilf zhfnbkufy jadvalning
barcha egar nuqtalarining indekslari chop etilsin.
#include #include #include using namespace std;
int main()
{
int n, m;
cout << " n = ";
cin >> n;
cout << " m = ";
cin >> m;
int a[n][m];
cout << " Matritsalar: " << endl;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
a[i][j] = rand() % 70;
cout << a[i][j] << "\t";
}
cout << endl;
}
int q = 0;
for (int i = 0; i < n; i++)
{
int min_col = 0;
bool fl = false;
for (int j = 1; j < m; j++)
if (a[i][j] < a[i][min_col])
min_col = j;
for (int t = 0; t < n; t++)
if (a[i][min_col] > a[i][min_col])
{
fl = true;
break;
}