Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
YuliYu
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 20
1

Одномерный массив. Определить наибольшее количество подряд идущих нулей

20.04.2015, 13:27. Просмотров 1166. Ответов 2
Метки нет (Все метки)

Дан целочисленный массив А[N]. Определить наибольшее количество подряд идущих нулей
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2015, 13:27
Ответы с готовыми решениями:

Определить наибольшее количество подряд идущих нулей в целочисленном массиве
Здравствуйте! Задание: Дан целочисленный массив A. Определить наибольшее...

Разреженный одномерный массив: заменить группу из подряд идущих нулей
Дан одномерный массив с большим количеством нулевых элементов. Заменить в нем...

Определить количество подряд идущих нулей в младших разрядах числа
Дано натуральное число N (N > 9). Определить количество нулей, идущих подряд в...

Определить наибольшее количество положительных идущих подряд чисел массива
Дан одномерный массив А, состоящий из N целых чисел. Составить программу,...

функция. количество идущих подряд нулей.
Помогите пожалуйста написать эту функцию=.=

2
botaniker
2 / 2 / 3
Регистрация: 14.04.2015
Сообщений: 13
20.04.2015, 15:13 2
Лучший ответ Сообщение было отмечено YuliYu как решение

Решение

так:
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
28
29
30
31
32
33
#include <iostream>
#include <stdlib.h>
using namespace std;
 
int main()
{
    int n;
    cout << "enter the number of elements in the sequence, n = ";
    cin >> n;
 
    int *A = new int[n];
 
    cout << "enter the elements of the sequence, \n";
    for (int i = 0; i < n; i++)
    {
        cout << "A[" << i+1 << "] = ";
        cin >> A[i];
    }
 
    int Smax = 0;
    int s;
    for (int i = 0; i < n; i = i+s+1)
    {
        s = 0;
        while (0 == A[s+i] && s+i<n) s++;
        if (s > Smax) Smax = s;
    }
 
    cout << "" << Smax << "\n";
    delete [] A;
    system("pause");
    return 0;
}
или так:
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
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main()
{
    int n;
    cout << "enter the number of elements in the sequence, n = ";
    cin >> n;
 
    int *A = new int[n];
 
    cout << "enter the elements of the sequence, \n";
    for (int i = 0; i < n; i++)
    {
        cout << "A[" << i+1 << "] = ";
        cin >> A[i];
    }
 
    int Smax = 0;
    int s = 0;
    for (int i = 0; i < n; i++)
    {
        if (0 == A[i]) 
            s++;
        else
          if (s > Smax) { Smax = s; s = 0;}
    }
    if ( 0 == A[n-1] && s > Smax)  
        Smax = s;
 
    cout << "" << Smax << "\n";
    delete [] A;
    system("pause");
    return 0;
}
1
YuliYu
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 20
20.04.2015, 15:38  [ТС] 3
Спасибо большое!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2015, 15:38

Наибольшее количество идущих подряд цифр
Очень нужно, помогите. Дан текст, содержащий цифры. Найти наибольшее...

Определить длину наибольшей подпоследовательности из подряд идущих нулей
Дана последовательность из 100 целых чисел. Определить количество чисел в...

Подсчитать наибольшее количество идущих подряд пробелов
Подсчитать наибольшее количество идущих подряд пробелов...


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

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

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