Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2017, 20:21   #1
laketych
Пользователь
 
Регистрация: 22.12.2015
Сообщений: 37
По умолчанию Как найти максимальный элемент ?

Нужно найти максимальную сумму 10 элементов массива неотрывных. Я написал программу, которая ищет все варианты 10 возможных элементов. Теперь не знаю как найти максимальную сумма элементов.

Код:
#include <iostream>
#include <time.h>
#include <iomanip>

using namespace std;

int main() {
	srand(time(NULL));

	int *array,
		*ptrArray_Start,  *ptrArray_End,
		*ptrArrayStart_j, *ptrArray_almostEnd,
		*ptrArrayStart_i, *ptrArray_Start_10;
	int  array_range = rand() % 151 + 50;
	int sum = 0;

	array = new int[array_range];
	ptrArray_Start     = array;
	ptrArray_End       = array + array_range;
	ptrArray_almostEnd = array + array_range - 10;

	for (ptrArray_Start; ptrArray_Start < ptrArray_End; ptrArray_Start++) {
		*ptrArray_Start = rand() % 101;
		cout << setw(5) << *ptrArray_Start;
	}

	cout << endl;

	for (ptrArrayStart_i = array; ptrArrayStart_i < ptrArray_almostEnd; ptrArrayStart_i++) {
		sum = 0;
		for (ptrArrayStart_j = ptrArrayStart_i; ptrArrayStart_j < ptrArrayStart_i + 10; ptrArrayStart_j++) {
			sum += *ptrArrayStart_j;
		}
		cout << sum << endl;
	}

	return 0;
}
laketych вне форума Ответить с цитированием
Старый 26.11.2017, 23:14   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Стесняюсь спросить: Кто такие "неотрывные" ? Которые никак не могут оторваться по полной ?
А врать-то зачем - не "написал", а сдул откуда-то неизвестно что.
digitalis вне форума Ответить с цитированием
Старый 27.11.2017, 14:39   #3
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Код:
#include <iostream>
#include <algorithm>
constexpr size_t SUM_LEN = 10;
int main()
{
  size_t n;
  std::cout<<"Enter count\n";
  std::cin>>n;
  std::vector<int> values(n);
  for(int& v:values)
  {
     std::cout<<"Enter next \n";
     std::cin>>v;
   }
   int sum = 0;
   if(n>SUM_LEN)
       std::sort(values.begin(), values.end(), std::greater<int>());
   for(size_t i = 0; i<n && i<SUM_LEN; ++i)
       sum+=values[i];
   std::cout<<"Sum of max = "<<sum<<"\n";
}
a.k.a. Angelicos Phosphoros
Мой сайт

Последний раз редактировалось New man; 27.11.2017 в 14:43.
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти сумму элементов столбца матрицы который имеет максимальный элемент? Sc++ Общие вопросы C/C++ 3 25.11.2017 14:31
1. Задан двумерный целочисленный массив Х(6,6). Найти минимальный элемент каждой строки и максимальный элемент каждого столбца массива и записать их в одномерный массив А. Greeb S Фриланс 5 15.12.2016 10:48
найти максимальный элемент rogge Microsoft Office Excel 5 03.12.2015 18:43
Найти максимальный элемент maxim1592 Паскаль, Turbo Pascal, PascalABC.NET 5 28.05.2014 19:37
создать массив по формуле,найти максимальный элемент. отсортировать по уменьшению,последний отрицательн элемент заменить наиболшим сергей-верига Помощь студентам 2 16.01.2014 15:25