//Programma judayam sekin ishlayatpti. Buni optimallashtirish kerak. #include using namespace std;
void sort(int n, int *A)
{
int k;
for (int i = 1; i <= n - 1; i++) //Massivni saralash jarayoni
for (int j = 1; j <= n - 1; j++)
if (A[j]>A[j + 1])
{
k = A[j];
A[j] = A[j + 1];
A[j + 1] = k;
}
return;
}
void main()
{
int const n = 100000;
int A[n], S = 0;
bool k=0;
for (int i = 1; i <= n; i++)
{
A[i] = rand() % 10;
cout << A[i] << " ";
}
sort(n, A);
for (int i = 1; i <= n; i++)
{
S = 0;
for (int j = i; j <= n; j++)
{
if (A[i] == A[j])
S++;
else
break;
}
if (S > n / 2)
{
cout << "Ustuvor element:" << S << endl;
k = 1;
}
}
if (!k)
cout << "\nUstuvor element yo'q";
}
216. Agar bir qatorda (joy tashlamasdan) raqamlari yig‘indisi toq son bo‘lgan barcha sonlarni yozib chiqsak, u holda quyidagi qator hosil bo‘ladi: 1357910121416182123… Hosil bo‘lgan qatorning n (n<200000) – o‘rnida qanday raqam turganini aniqlovchi dastur tuzing.
217. N tartibli kvadrat jadval berilgan. Jadvalning shtrixlangan qismida joylashgan eng kichik va eng katta elementlarning qiymatini toping.
#include using namespace std;
void main()
{
int const n =200;
int A[n][n], max=0;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
A[i][j]=rand()%100;
if (n % 2 == 0)
{
for (int i = 1; i <= n / 2; i++)
for (int j = 1; j <= 2 * i; j++)
{
if (max < (A[n / 2 + i][i + n / 2 - j + 1]))
max = A[n / 2 + i][i + n / 2 - j + 1];
}
cout << "Natija:" << max;
}
else
{
for (int i = 1; i <= n / 2+1; i++)
for (int j = 1; j <= 2 * i-1; j++)
{
if (max < (A[n / 2 + i][i + n / 2 - j + 1]))
max = A[n / 2 + i][i + n / 2 - j + 1];
}
cout << "Natija:" << max;
}
}
218. Tekislikda berilgan N ta nuqtadan shunday nuqtani topingki, undan qolgan nuqtalargacha bo‘lgan masofa eng katta bo‘lsin.
219. Bir o‘lchovli jadvalda nolga teng elementlar saqlanishi mumkin. Qo‘shimcha massivdan foydalanmasdan, jadvalni shunday o‘zgartiringki, unda avval nolga teng elementlar so‘ngra nolga teng bo‘lmagan elementlar joylashsin.
220. 1 soni M to‘plamga tegishli. Agar k soni M to‘plamga tegishli bo‘lsa, u holda 2*k+1 va 3*k+1 sonlari ham M ga tegishli. M to‘plamning 1000 dan kichik bo‘lgan elementlarini kamayish tartibida “MMR.OUT” faylga chiqaring.