кодесурса
«C

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

script1adsense2code
script1adsense3code

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

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

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

Код C:

#include <stdio.h>
int min(int p, int q) 
{
    return (p < q) ? p : q;
}
int max(int p, int q) 
{
    return (p > q) ? p : q;
}
int maxProduct(int arr1 [], int n)
{
    int maxend = 0, minend = 0;
    int maxupto = 0;
    for (int i = 0; i < n; i++)
    {
        int temp = maxend;
        maxend = max(arr1[i], max(arr1[i] * maxend, arr1[i] * minend));
        minend = min(arr1[i], min(arr1[i] * temp, arr1[i] * minend));
        maxupto = max(maxupto, maxend);
    }
    return maxupto;
}
int main(void)
{
    int arr1[] = { -4, 9, -7, 0, -15, 6, 2, -3 };
    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 product of a sub-array in the given array is:  %d", maxProduct(arr1, n));
    return 0;
}

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

 Данный массив: -4 9 -7 0 -15 6 2 -3  
Максимальное произведение подмассива в данном массиве: 540

Блок - схема:


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

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

Previous: написать программу на C, чтобы найти строку с максимальным числом 1 с.
Далее: Напишите программу на C, чтобы найти самый большой подмассив с равным числом 0 и 1.

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

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code