Упражнения C: Найти наибольшую сумму смежных подмассивов массива
C Массив: упражнение 35 с раствором
Напишите программу на C, чтобы найти наибольшую сумму смежных подмассивов массива.
Пример решения:
Код C:
#include <stdio.h>
int maxSum(int a[],int n)
{
int i,j,k;
int sum,maxSum = 0;
for(i=0; i<n; i++)
{
for(j=i; j<n; j++)
{
sum = 0;
for(k=i ; k<j; k++)
{
sum = sum + a[k];
}
if(sum>maxSum)
maxSum = sum;
}
}
return maxSum;
}
int main()
{
int i;
int arr1[] = {8, 3, 8, -5, 4, 3, -4, 3, 5};
int ctr = sizeof(arr1)/sizeof(arr1[0]);
printf("The given array is : ");
for(i = 0; i < ctr; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
printf("The largest sum of contiguous subarray is : %d \n", maxSum(arr1, ctr));
return 0;
}
Пример вывода:
Данный массив: 8 3 8 -5 4 3 -4 3 5 Самая большая сумма смежных подмассивов: 21
Блок-схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus.
Предыдущий: Напишите программу на C, чтобы найти число, встречающееся нечетное количество раз в массиве.
Далее: Напишите программу на C, чтобы найти пропущенное число из данного массива. В списке нет дубликатов.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code