Advertisement
vasylmartyniv

C1S2-Katya-2

Jun 3rd, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.28 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.     int n, curr, k=0, mx = 0, i, j, tmp, noSwap;//Оголошуємо змінні
  5.     printf("Input n: ");
  6.     scanf("%d", &n);//Зчитуємо кількість елементів
  7.     int mass[n];
  8.     printf("\n");
  9.     printf("Input array: ");
  10.     for (i = 0; i < n; i++) {
  11.         scanf("%d", &mass[i]);//Зчитуємо масив самих елементів
  12.     }
  13.     for (i = n - 1; i >= 0; i--)//Сортуємо за методом бульбашки
  14.     {
  15.         noSwap = 1;//Змінна для перевірки відсортованості масиву
  16.         for (j = 0; j < i; j++) {
  17.             if (mass[j] > mass[j + 1]) {//Перевіряємо чи і більше за і+1 якщо так, міняємо їх місцями
  18.                 tmp = mass[j];
  19.                 mass[j] = mass[j + 1];
  20.                 mass[j + 1] = tmp;
  21.                 noSwap = 0;//Якщо масив відсортований то ця команда не спрацює
  22.             }
  23.         }
  24.         if (noSwap == 1) {
  25.             break;//Виходимо з циклу коли масив відсортований
  26.         }
  27.     }
  28.     i=0;
  29.     j=0;//Обнуляємо змінні
  30.     while (i<=n){
  31.         if (mass[i]==mass[i-1]) {//Перевіряємо чи попередній елемент був такий самий як цей
  32.             j=i;
  33.             k=0;
  34.             while ((mass[j] = mass[j - 1]) & (j <= n)){//Проходимось до кінця одинакових чисел і змільшуємо лічильник для однакових чисел
  35.                 j=j + 1;
  36.                 k=k + 1;
  37.             }
  38.         }
  39.         if (k>mx){//Якщо значення лічильника більше ніж максимальна кількість одинакових елементів то міняємо максимальну кількість
  40.             mx=k;
  41.             i=i+k;//Переходимо до кінця одинакови чисел щоб продовжити цикл з нього
  42.  
  43.         }else i=i+1;//Якщо ні то переходимо до наступного елемента
  44.     }
  45.     printf("%d",mx);//Виводимо максимальну кількість
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement