кодесурса
«C

C Упражнения: Найти минимальное количество перестановок, необходимое для сбора всех элементов меньше или равно k

script1adsense2code
script1adsense3code

C Массив: упражнение 105 с решением

Напишите программу на C, чтобы найти минимальное число перестановок, необходимое для сбора всех элементов, меньших или равных k.

Пример решения:

Код C:

#include<stdio.h> 
int minSwap(int *arr1, int n, int k) 
{ 
    int ctr = 0; 
    for (int i = 0; i < n; ++i) 
        if (arr1[i] <= k) 
            ++ctr; 
    int gelem = 0; 
    for (int i = 0; i < ctr; ++i) 
        if (arr1[i] > k) 
            ++gelem; 
    int noswp = gelem; 
    for (int i = 0, j = ctr; j < n; ++i, ++j) 
	{ 
        if (arr1[i] > k)
        {
            --gelem; 
        }
        if (arr1[j] > k)
        {
            ++gelem; 
        }
    }
        if(noswp>gelem)
        {
            noswp=gelem;
        }
        if(noswp<gelem)
        {
            noswp=noswp;
        }            
    return noswp; 
} 
int main() 
{ 
    int arr1[] = {2, 7, 9, 5, 8, 7, 4};
    int n = sizeof(arr1) / sizeof(arr1[0]); 
    int k = 7; 
	int i = 0; 
   //------------- print original array ------------------	
	printf("The given array is:  \n");
	for(i = 0; i < n; i++)
		{
			printf("%d  ", arr1[i]);
		}
	printf("\n");
//-----------------------------------------------------------      
    printf("The minimum swap required is: %d",minSwap(arr1, n, k)); 
    return 0; 
}

Пример вывода:

 Данный массив:  
2 7 9 5 8 7 4  
Требуемый минимальный своп: 2  

Блок-схема 1:

«Блок-схема:

Блок-схема 2:

«Блок-схема:

Редактор кода программирования C:

Улучшите этот пример решения и опубликуйте свой код через Disqus.

Предыдущий: Напишите программу на C, чтобы переставить массив так, чтобы четные элементы индекса были меньше, а нечетные элементы индекса были больше, чем их следующие.
Далее: написать программу на C для преобразования массива таким образом, чтобы удвоить его значение, и заменить следующее число на 0, если текущий и следующий элемент совпадают, и переставить массив так, чтобы все 0 сдвинулись до конца.

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code