1-Laboratoriya ishi. Mavzu


Download 112.94 Kb.
Sana18.06.2022
Hajmi112.94 Kb.
#764633
Bog'liq
Yuldashov Jaloladdin
Ити режа, Ити режа, Ҳайдаров.Халилова (1), Estetika nazariyasi

1-Laboratoriya ishi.
Mavzu:

Bir o’lchamli sonli massiv berilgan. Sizning vazifangiz uning elementlari orasidanechtasi massivning barcha elementiga qoldiqsiz bo’lishini topish.


Kiruvchi ma’lumotlar
Birinchi qatorda bitta butun son n – massiv elementlari soni berilgan(1≤n≤105).Ikkinchi qatorda n ta butun son– massiv elementlari bitta probel bilan ajratib berilgan. Massiv elementlari qiymatlari 1 dan 109 gacha bo’lishi mumkin.
Chiquvchi ma’lumotlar
Massivdagi uning barcha elementlariga qoldiqsiz bo’linadigan elementlar soninichiqaring.
Misollar



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

1

4
1 3 6 2

1

2

5
1 1 1 1 1

5

3

2
5 2

0

Izoh: 1-misolda 6 soni massivning barcha elementiga qoldiqsiz bo’linadi.



Boshlash



b=0,k=0





n





i=1……………n







a[i]





i++





i=1………n







k=0





j=1……….n







a[i]%j[i]==0







k++





n==k







b++







b





T

#include


using namespace std;
intmain()
{
intn,b=0,k=0;
cin>>n;
int a[n+1];
for(inti=1; i<=n; i++)
{
cin>>a[i];
}
for(inti=1; i<=n; i++)
{
k=0;
for(int j=1; j<=n; j++)
{
if(a[i]%a[j]==0)
k++;
}
if(n==k)
{ b++; }
}
cout<}
2-laboratoriya ishi.


6-Topshiriq


Massiv o'sish tartibida tanlash saralash bilan tartiblangan. Boshlang'ich massivdagi birinchi element o'z o'rnini necha marta o'zgartiradi?
Input
The first line contains the number of elements in array n (1 ≤ n ≤ 1000). The second line contains the elements of array. It is known that all elements in array are different and not greater than 109 by absolute value.
Output
Print the number of movements of the first element.
Samples



Input

Output

1

3
1 3 2

0

2

2
2 1

1

3

4
4 1 5 3

3

#include


using namespace std;
int main()
{
int n,minPos,w=0,cnt=0;
cin>>n;
int a[n];
for (int i = 0; i < n; i++)
cin>>a[i];
for (int i = 0; i < n-1; i++)
{
minPos = i;
for (int j = i+1; j < n; j++)
{
if (a[j] < a[minPos])
{
minPos = j;
} }
int t = a[i];
a[i] = a[minPos];
a[minPos] = t;
if((minPos==w || i==w) && minPos != i)
{ cnt++;
if(minPos == w)
w = i;
else
w = minPos++;}
}
cout<}


3-laboratoriya ishi
Furqat qo’shiq eshtishni juda yoqtiradi. U hattoki contestlarda ham qo’shiq eshitib qatnashadi. Hozir contest bo’layabdi va uning tugashiga K soniya qoldi. Furqatda hali eshitilmagan N ta qo’shiq bo’lib, i- qo’shiqning davomiyligi a[i] sekundga teng. U contest oxirigacha iloji boricha ko’proq sondagi qo’shiqlarni eshitib qolmoqchi.


Kiruvchi ma’lumotlar
Birinchi qatorda N va K butun sonlari beriladi(1 ≤ n ≤ 1000, 0≤K≤1018). Keyingi qatorda N ta butun son – har bir musiqaning davomiyligi a[i] lar beriladi. Ularning qiymatlari 1 dan 109 gacha bo’lishi mumkin.
Chiquvchi ma’lumotlar
Bitta butun sonni – Furqat contest oxirigacha maksimal nechta qo’shiqni eshta olishini chiqaring.
Misollar



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

1

5 10
5 6 3 7 3

2

2

1 1000
18

1



#include
using namespace std;
int cnt[100001];
int maxn=100001;
int main() {
int n, m, s=0,k=0;
cin>>n>>m;
int a[n+1];
for(int i=0; i
cin>>a[i];
}
for(int i=n-1; i>=1; i--){
for(int j=0; j
if(a[j]>a[j+1]){
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(int i=0; i
s+=a[i];
if(s<=m){k++;}
else{cout<
}
cout<



4-laboratoriya ishi
N ta uchburchak o’zining uchta tamonining uzunliklari bilan berilgan. Bu uchburchaklar jami nechta har xil uchburchak borligini xisoblang.


Kiruvchi ma’lumotlar
Birinchi qatorda N butun soni beriladi(1 ≤ n ≤ 105). Keyingi N ta qatorda har birida 3 tadan sonlar – navbatdagi uchburchak tamonlari beriladi. Ularning qiymatlari 1 dan 109 gacha bo’lishi mumkin. Har bir uchburchak tamonlari uzunliklari uchburchak tengsizligini qanoatlantiradi.
Chiquvchi ma’lumotlar
Bitta butun sonni – har xil uchburchaklar sonini chiqaring.
Misollar



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

1

5
4 5 2
3 7 6
7 6 3
4 5 3
4 5 2

3

#include
#include
#include
using namespace std;
struct nuqta{
int x, y, z;
};
nuqta a[100000], b[100000];
int inv = 0;
void mergesort(int L, int R) {
if (L >= R)
return;
int m = (L + R) / 2;
mergesort(L, m);
mergesort(m + 1, R);
//Birlashtirish yoziladi
int p1 = L, p2 = m + 1;
int p = L;
while (p1 <= m && p2 <= R) {
if (a[p1].x < a[p2].x || (a[p1].x == a[p2].x && a[p1].y < a[p2].y) || (a[p1].x == a[p2].x && a[p1].y == a[p2].y && a[p1].z < a[p2].z)) {
b[p] = a[p1];
p++;
p1++;
} else {
inv += m - p1 + 1;
b[p] = a[p2];
p++;
p2++;
}
}
while (p1 <= m) {
b[p] = a[p1];
p++;
p1++;
}
while (p2 <= R) {
b[p] = a[p2];
p++;
p2++;
}
for (int i = L; i <= R; i++)
a[i] = b[i];
}
int main() {
int n, d = 0;
cin >> n;
for(int i = 0; i < n; i++)
cin >> a[i].x >> a[i].y >> a[i].z;
for(int i = 0; i < n; i++){
if(a[i].x > a[i].y)
swap(a[i].x, a[i].y);
if(a[i].x > a[i].z)
swap(a[i].x, a[i].z);
if(a[i].y > a[i].z)
swap(a[i].z, a[i].y);
}
mergesort(0, n - 1);
cout << endl;
for(int i = 0; i < n; i++)
cout << a[i].x << " " << a[i].y << " " << a[i].z << endl;
for(int i = 0; i < n - 1; i++)
if(a[i].x < a[i + 1].x || (a[i].x == a[i + 1].x && a[i].y < a[i + 1].y) || (a[i].x == a[i + 1].x && a[i].y == a[i + 1].y && a[i].z < a[i + 1].z))
d++;
cout << ++d;
}

5-laboratoriya ishi

Dekart koordinatalar tizimida n ta to’g’ri chiziqlar berilgan. Agar ikkita to’g’ri chiziq ustma-ust tushsa ular bitta to’g’ri chiziq hisoblanadi. Nechta har xil to’g’ri chiziqborligini toping.


Kiruvchi ma’lumotlar
Birinchi qatorda bitta butun son n – to’g’ri chiziqlar soni berilgan(1≤n≤50000).Keyingi n ta qatorda har birida to’rttadan son – navbatdagi to’g’ri chiziqqa tegishlibo’lgan ikki nuqta koordinatalari x1, y1, x2, y2 sonlari bitta probel bilan ajratibberilgan(bu nuqtalar ustma-ust tushmaydi). Koordinatalar butun va mudul jihatdan 104dan oshmaydi.
Chiquvchi ma’lumotlar
Birinchi qatorda bitta sonni – nechta har xil to’g’ri chiziq borligini chiqaring.
Misollar



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

1

4
-1 -1 2 2
6 6 9 9
-1 2 2 5
0 0 7 8

3

#include


using namespace std;
int main()
{
int n;
cin>>n;
long long a[n+1], b[n+1], c[n+1];
int x1, y1, x2, y2;
for (int i = 1; i<= n; i++)
{
cin>>x1>>y1>>x2>>y2;
a[i] = y1-y2;
b[i] = x2-x1;
c[i] = x1*y2-x2*y1;
}
int ans = 0;
for (int i = 1; i<= n; i++)
{
bool new_ = true;
for (int j = 1; j {
if (a[i]*b[j]==a[j]*b[i] && a[i]*c[j]==a[j]*c[i] && b[i]*c[j]==b[j]*c[i])
{
new_ = false;
break;
}
}
if (new_)
ans++;
}
cout<return 0;
}


6-laboratoriya ishi
Sizga bir o’lchamli massiv berilgan. Uning elementlarini raqamlarnining yig’indisi bo’yicha o’sish tartibida saralang. Agar birnechta elementning raqamlari yig’indisi bir xil bo’lsa saralangach ularning bir-biriga nisbatansaralashdan oldingi tartibi bilan bir xil bo’lishi lozim.
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 va modul jihatidan 109 dan oshmaydi.
Chiquvchi ma’lumotlar
Saralangan massiv elementlarini birinchi qatorda bitta probel bilan ajratilgan holda chiqaring.
Misollar



Kiruvchi ma’lumotlar

Chiquvchi ma’lumotlar

1

6
7 -81 16 2 9 45

2 7 16 -81 9 45

#include


using namespace std;
int RY(int z)
{
int k=0,Z=abs(z);
if(1<=Z && Z<=9)
return Z;
else
return k+Z%10+RY(Z/10);
}
int main()
{
int n;
cin>>n;
int a[n+1],b[n+1];
for(int i=1; i<=n; i++)
{
cin>>a[i];
}

for(int i=1; i<=n; i++)


{
for(int j=1; j{
if(RY(a[j])>RY(a[j+1]))
swap(a[j],a[j+1]);
}
}
for(int i=1; i<=n; i++)
{
cout<}
}

Download 112.94 Kb.

Do'stlaringiz bilan baham:




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