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

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

Войти
Регистрация
Восстановить пароль
 
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
#1

Количество подряд идущих отрицательных элементов - C++

22.01.2014, 14:31. Просмотров 491. Ответов 5
Метки нет (Все метки)

Задание простое, просто хочу по-нормальному его растолковать.

Дается целочисленный массив из 30 элементов, нужно подсчитать максимальное количество подряд идущих отрицательных элементов.

Вот такой вопрос: как считать такие элементы? Вот, например, я поставил так:

C++
1
2
3
4
for(int i=0; i<N-1; i++)
{
if (a[i] < 0 && a[i+1] < 0) x+=2;
}
т.е если подряд идут 2 элемента, соответственно всего в массиве 2 подряд идущих отрицательных числа. А если таких чисел нечетное количество? как быть? подскажите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 14:31     Количество подряд идущих отрицательных элементов
Посмотрите здесь:

Подсчитать максимальное количество подряд идущих отрицательных элементов. - C++
Дан одномерный массив А, состоящий из N элементов. Подсчитать максимальное количество подряд идущих отрицательных элементов. Помогите,...

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

В заданном массиве подсчитать максимальное количество идущих подряд отрицательных элементов - C++
Помогите надо в 27-30 что то изменить чтобы работало Дан одномерный массив А, состоящий из N элементов. Подсчитать мак- симальное...

Посчитать максимальное количество подряд идущих отрицательных элементов в целочисленном массиве - C++
3) Посчитайте максимальное количество подряд идущих отрицательных элементов в целочисленном массиве длины 30.

Найти максимальное количество подряд идущих отрицательных элементов в заданном массиве - C++
Помогите решить задачу: 2. Опишите алгоритм подсчета максимального количества подряд идущих отрицательных элементов в целочисленном...

Подсчет подряд идущих отрицательных элементов - C++
C 2 № 2908. Опишите на русском языке или на одном из языков программирования алгоритм подсчета максимального количества подряд идущих...

Определить, максимальное количество подряд идущих отрицательных членов последовательности. - C++
Вводится натуральное число N, а затем последовательность N чисел. Определить, максимальное количество подряд идущих отрицательных членов...

Одномерный массив более 3-х подряд идущих отрицательных элементов, заменить на максимальный элемент - C++
В одномерном массиве A=(a1, а2, ..., аn) все группы элементов, содержащие более 3-х подряд идущих отрицательных элементов, заменить на...

Одномерный массив более 3-х подряд идущих отрицательных элементов, заменить на максимальный элемент - C++
В одномерном массиве A=(a1, а2, ..., аn) все группы элементов, содержащие более 3-х подряд идущих отрицательных элементов, заменить на...

Количество положительных элементов, идущих подряд - C++
Определить наибольшее число положительных элементов, идущих подряд, в массиве А.

Найти максимальное количество подряд идущих чётных элементов - C++
Мне дана задача : опишите на одном из языков программирования алгоритм подсчета максимального количества подряд идущих четных элементов в...

Найти наименьшее количество одинаковых, идущих подряд элементов - C++
Дан вектор размерности N. Найти наименьшее количество одинаковых, идущих подряд элементов.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
22.01.2014, 14:38     Количество подряд идущих отрицательных элементов #2
C++
1
2
3
4
5
6
7
8
int x=0,t=0;
for(int i=0; i<N; i++)
{
if (a[i] < 0) t++;
else t=0;
if (t>x) x=t;
}
cout<<x<<endl;
kirviza
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 5
22.01.2014, 15:38     Количество подряд идущих отрицательных элементов #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
 
int negative(int array[10]){
    int max_el=0;
    int k=0;
    for(int i=0; i<10; i++){
        if(array[i]<0)
            k++;
        else if (k>max_el){
            max_el=k;
            k=0;
        }
    }
 
 
   return max_el;
}
 
int main()
{
    int int_arr[10]={2,-1,-3,3,-4,-7,-2,-5,-1,1};
    cout<<negative(int_arr);
    return 0;
}
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
22.01.2014, 15:42     Количество подряд идущих отрицательных элементов #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main()
{
    std::srand((size_t)(std::time)(nullptr));
    const size_t arraySize(30);
 
    int array[arraySize];
    size_t maximalNegativeLength(0);
    size_t currentNegativeLength(0);
    std::cout << "Array: " << std::endl;
    for (size_t i = 0; i < arraySize; i++) {
        std::cout << (array[i] = std::rand() % 25 - 10) << ' ';
        if (array[i] < 0) {
            currentNegativeLength++;
        } else {
            maximalNegativeLength = maximalNegativeLength < currentNegativeLength ? currentNegativeLength : maximalNegativeLength;
            currentNegativeLength = 0;
        }
    }
    std::cout << std::endl << "Maximal negative length: " << maximalNegativeLength << std::endl;
 
    std::system("pause");
    return 0;
}
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
22.01.2014, 21:01  [ТС]     Количество подряд идущих отрицательных элементов #5
Цитата Сообщение от valeriikozlov Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
int x=0,t=0;
for(int i=0; i<N; i++)
{
if (a[i] < 0) t++;
else t=0;
if (t>x) x=t;
}
cout<<x<<endl;
Можно вопрос: а зачем нужна строка if (t>x) x=t, зачем проверять больше ли t чем x?
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
22.01.2014, 21:58     Количество подряд идущих отрицательных элементов #6
что бы найти максимальную длинну
Yandex
Объявления
22.01.2014, 21:58     Количество подряд идущих отрицательных элементов
Ответ Создать тему
Опции темы

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