0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 20
1

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

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

Дан целочисленный массив А[N]. Определить наибольшее количество подряд идущих нулей
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2015, 13:27
Ответы с готовыми решениями:

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

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

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

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

2
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
0 / 0 / 0
Регистрация: 20.04.2015
Сообщений: 20
20.04.2015, 15:38  [ТС] 3
Спасибо большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2015, 15:38
Помогаю со студенческими работами здесь

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

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

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

Вывести наибольшее количество пробелов, идущих подряд
Из файла считывается текст и выводится наибольшее количество пробелов, что идут подряд. Помогите,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru