кодесурса
«C

Упражнения C: Найти два числа, которые встречаются нечетное количество раз в массиве

script1adsense2code
script1adsense3code

C Массив: упражнение-70 с раствором

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

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

«C

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

Код C:

#include <stdio.h>
void TwoNumberOddOccure(int arr1[], int arr_size)
{
  int xor2 = arr1[0]; 
  int setbitno; 
  int i;
  int n = arr_size - 2;
  int num1 = 0, num2 = 0;
  for(i = 1; i < arr_size; i++)
    xor2 = xor2 ^ arr1[i];
  setbitno = xor2 & ~(xor2-1);
  for(i = 0; i < arr_size; i++)
  {
    if(arr1[i] & setbitno)
      num1 = num1 ^ arr1[i];
    else
      num2 = num2 ^ arr1[i]; 
  }
  printf("The two numbers occuring odd number of times are: %d & %d ", num1, num2);
}
int main()
{
  int arr1[] = {6, 7, 3, 6, 8, 7, 6, 8, 3, 3};
  int arr_size = sizeof(arr1)/sizeof(arr1[0]);
     int i;  
	//------------- print original array ------------------	
	printf("The given array is :  ");
	for(i = 0; i < arr_size; i++)
	{
	printf("%d  ", arr1[i]);
    } 
	printf("\n");
//------------------------------------------------------   
  TwoNumberOddOccure(arr1, arr_size);
  return 0;
}

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

 Данный массив: 6 7 3 6 8 7 6 8 3 3  
Два числа встречаются нечетное количество раз: 3 и 6 

Блок - схема:

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

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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code