Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wH3y
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 15
#1

Найти отрезок в массиве. - C++

06.11.2009, 11:31. Просмотров 533. Ответов 7
Метки нет (Все метки)

Дан массив состоящий из N чисел , найти тот отрезок элементов сумма которого больше 100 .
В массиве могут быть отрицательные числа.

помогите решить пожалуйста)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2009, 11:31     Найти отрезок в массиве.
Посмотрите здесь:

Найти отрезок максимальной длины в массиве А - C++
Найти отрезок максимальной длинны в массиве А из К элементов и вывести его на экран ,состоящий из элементов данного массива по правилу...

В массиве найти отрезок максимальной длины, в котором первое число равно последнему, второе - предпоследнему и т.д. Напечатать характеристики этого от - C++
Помогите ребят!!!!препод задачи задачи для аттестации,сделал фактически все,кроме этой: "В массиве найти отрезок максимальной длины, в...

Найти самый длинный отрезок - C++
длины отрезка заданы координатами концов.найти самый длинный отрезок.решить с помощью функций. заранее большое спасибо!

Найти наибольший отрезок из совершенных чисел - C++
Дано натуральное число n, целые числа a1....an. Рассмотреть отрезки последовательности (последовательности членов, идут рядом), состоящие...

Найти самый используемый отрезок пути в графе - C++
Доброго времени суток. Столкнулся с такой проблемой: в графе нужно найти участок, который используется чаще всего при постройки пути от...

Найти отрезок, лежащий целиком в наибольшем количестве окружностей - C++
Дано множество окружностей. Найти отрезок, концами которого являются точки из множества Т и который лежит целиком в наибольшем количестве...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
06.11.2009, 11:44     Найти отрезок в массиве. #2
Если один отрезко то просто:
Находишь максимальный и отталкиваешся от него.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.11.2009, 11:59     Найти отрезок в массиве. #3
Sekt, не факт
2 3 1 1 90 5 3 1

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdlib.h>
#include <iostream.h>
int main()
{
    const int n=10;
    int i, j;
    int mas[n]={33, -12, 45, -10, 30, 100, -100, -120, 80, 90};
    int sum;
    bool fl=false;
  for( i = 0; i<n-1 && fl==false; i++)
  {
      sum=mas[i];
      for( j=i+1; j<n && fl==false; j++)
      {
          sum+=mas[j];
          if(sum>100)
              fl=true;
      }
  }
  cout<<i-1<<"   "<<j-1<<endl;            
        system("pause");
        return 0;
}
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
06.11.2009, 22:06     Найти отрезок в массиве. #4
А в чем собственно задача ?
Берем все элементы массива в качестве ответа и все.
Если превышает 100 - задача решена.
Если не превышает 100, то значит решения нет.
Ketino
8 / 8 / 0
Регистрация: 21.09.2009
Сообщений: 84
06.11.2009, 23:07     Найти отрезок в массиве. #5
Цитата Сообщение от odip Посмотреть сообщение
А в чем собственно задача ?
Берем все элементы массива в качестве ответа и все.
Если превышает 100 - задача решена.
Если не превышает 100, то значит решения нет.
Это при условии, что нет отрицательных чисел.
В противном случае - надо искать.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
06.11.2009, 23:09     Найти отрезок в массиве. #6
Ketino,

Это при условии, что нет отрицательных чисел.
В противном случае - надо искать.


Берем все положительные элементы массива...
далее по тексту
(:
Ketino
8 / 8 / 0
Регистрация: 21.09.2009
Сообщений: 84
06.11.2009, 23:16     Найти отрезок в массиве. #7
Цитата Сообщение от Rififi Посмотреть сообщение
Берем все положительные элементы массива...
далее по тексту
(:
Лучше так - "Берем массив, у которого первый элемент = 101 ..." ;-)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2009, 21:44     Найти отрезок в массиве.
Еще ссылки по теме:

Найти координаты точки, делящей отрезок в заданном отношении - C++
3)Найти координаты точки, делящей отрезок с координатами (X1, Y1, Z1) и (X2, Y2, Z2) в отношении M / N.

Строки. Найти в тексте начальный и конечный отрезок цифрового алфавита - C++
Подскажите как в форме записать эту программу : Дана последовательность символов (строка). Найти в тексте начальный и конечный отрезок...

Найти точку пересечения отрезка и перпендикуляра, опущенного на отрезок из точки - C++
Привет! Помогите двоишнику, я же тупой батхэд :D! Есть отрезок, заданный двумя точками P1 и P2. Есть точка P3. Так вот, нужно найти...

Найти в тексте наибольший по длине начальный отрезок цифрового алфавита - C++
Дана последовательность символов (строка). Найти в тексте наибольший по длине начальный отрезок цифрового алфавита или вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
07.11.2009, 21:44     Найти отрезок в массиве. #8
Ну насчет отрицательных чисел в условии не было сказано, я решил что там все >= 0

Можно просто перебрать все отрезки - O(N^3) действий.
Можно использовать метод динамического программирования и найти за меньшее число действий.
Только остановиться нужно как только нашли сумму > 100.
Yandex
Объявления
07.11.2009, 21:44     Найти отрезок в массиве.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru