кодесурса
«C

Упражнения C: Вернуть максимальную сумму, чтобы не было двух соседних элементов.

script1adsense2code
script1adsense3code

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

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

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

«C

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

Код C:

#include <stdio.h>
 
int maxSumSubseq(int arr1[], int n)
{
  int incl = arr1[0];
  int excl = 0;
  int excl_new;
  int i;
  for (i = 1; i < n; i++)
  {
     excl_new = (incl > excl)? incl: excl;
 
     incl = excl + arr1[i];
     excl = excl_new;
  }
   return ((incl > excl)? incl : excl);
}
 
int main()
{
   int arr1[] = {1, 3, 5, 9, 7, 10, 1, 10, 100};
     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("The maximum sum from the array such that no two elements are adjacent is: %d \n", maxSumSubseq(arr1, n));
  return 0;
}

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

 Данный массив: 1 3 5 9 7 10 1 10 100  
Максимальная сумма из массива, так что нет двух соседних элементов: 122 

Блок - схема:


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

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

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

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code