Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
1

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

22.01.2014, 14:31. Показов 2214. Ответов 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 подряд идущих отрицательных числа. А если таких чисел нечетное количество? как быть? подскажите пожалуйста.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2014, 14:31
Ответы с готовыми решениями:

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

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

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

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

5
Эксперт С++
4717 / 2538 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
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;
1
0 / 0 / 1
Регистрация: 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;
}
0
Mobile Software Engineer
Эксперт С++
5360 / 1579 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
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;
}
1
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?
0
Mobile Software Engineer
Эксперт С++
5360 / 1579 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
22.01.2014, 21:58 6
что бы найти максимальную длинну
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2014, 21:58

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

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

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

Определить, какое количество подряд идущих отрицательных чисел записано в начале последовательности
Дана последовательность из n вещественных чисел, начинающаяся с отрицательного числа. Определить,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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