кодесурса
«C

Упражнения на С: найдите два элемента, сумма которых ближе всего к нулю

script1adsense2code
script1adsense3code

C Array: Упражнение 45 с раствором

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

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

«C

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

Код C:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
void findMinSumPair(int *arr1, int arr_size)
{
  int i, j, sum, minSum, min1Pair, min2Pair;
  if(arr1 == NULL || arr_size < 2)
      return;
  min1Pair = arr1[0];
  min2Pair = arr1[1];
  minSum = min1Pair + min2Pair;
  
  for(i = 0; i < arr_size-1; i++) 
  {
    for(j = i+1; j < arr_size; j++) 
	{
      sum = arr1[i] + arr1[j];
      if(abs(sum) < abs(minSum)) 
	  {
        minSum = sum;
        min1Pair = arr1[i];
        min2Pair = arr1[j];
      }
    }
  }
  printf("[%d, %d]\n", min1Pair, min2Pair);
}
 
int main()
{
    int arr1[] = {38, 44, 63, -51, -35, 19, 84, -69, 4, -46}; 
  int ctr = sizeof(arr1)/sizeof(arr1[0]);
  int i;  
//------------- print original array ------------------	
	printf("The given array is :  ");
	for(i = 0; i < ctr; i++)
	{
	printf("%d  ", arr1[i]);
    } 
    printf("\n");
//------------------------------------------------------  
    printf("The Pair of elements whose sum is minimum are: \n");
    findMinSumPair(arr1, ctr);
    return 0;
}

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

 Данный массив: 38 44 63 -51 -35 19 84 -69 4 -46  
Пара элементов с минимальной суммой: 
[44, -46]

Блок - схема:

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

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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code