кодесурса
«C

Упражнения C: подсчитать количество инверсий в данном массиве

script1adsense2code
script1adsense3code

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

Напишите программу на C для подсчета количества инверсий в данном массиве.

Иллюстрированная презентация:

«C

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

Код C:

#include <stdio.h>
int inv_count(int arr1[], int n)
{
    int inversionCtr = 0;
    printf("The inversions are: ");
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = i + 1; j < n; j++)
			if (arr1[i] > arr1[j])
             {
               printf("(%d, %d)  ",arr1[i],arr1[j]);
               inversionCtr++;
             }
    }
    return inversionCtr;
}
int main()
{
    int arr1[] = { 1, 9, 6, 4, 5 };
    int n = sizeof(arr1)/sizeof(arr1[0]);
    int i;
	//------------- print original array ------------------	
	printf("The given array is :  ");
	for(i = 0; i < n; i++)
	{
	printf("%d  ", arr1[i]);
    } 
	printf("\n");
//------------------------------------------------------     
    printf("\nThe number of inversion can be formed from the array is:  %d", inv_count(arr1, n));
    return 0;
}

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

 Данный массив: 1 9 6 4 5  
Инверсия: (9, 6) (9, 4) (9, 5) (6, 4) (6, 5)  
Число инверсии может быть сформировано из массива: 5 

Блок - схема:

«граф

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

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

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

Каков уровень сложности этого упражнения?

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code