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

Определить среднюю длину непрерывных участков положительных чисел

24.10.2020, 18:42. Показов 1096. Ответов 7

Помогите написать программу в VS определяющую среднюю длину непрерывных участков положительных чисел.
Размер нужно задать самостоятельно
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2020, 18:42
Ответы с готовыми решениями:

Определить среднюю длину непрерывных участков отрицательных значений элементов массива
в массиве A определить среднюю длину непрерывных участков отрицательных значений элементов буду...

Определить среднюю длину непрерывных участков положительный чисел
Определить среднюю длину непрерывных участков положительный чисел!

Определить среднюю длину непрерывных участков положительных чисел
Как определить среднюю длину непрерывных участков положительны чисел. Диапазон значений от -50 до...

Одномерные массивы. Определить среднюю длину непрерывных участков положительных чисел
Помогите написать программу , буду очень благодарен. Определить среднюю длину непрерывных...

7
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 18
26.10.2020, 21:43  [ТС] 2
Прошу помочь знатаков т.к. сам мало понимаю что нужно сделать.
0
168 / 90 / 44
Регистрация: 22.09.2019
Сообщений: 390
26.10.2020, 21:52 3
вводите числовую последовательность, находите отрезки положительных чисел, находите сумму их длин и делите на количество. профит!
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 18
27.10.2020, 14:17  [ТС] 4
Цитата Сообщение от alo_wu Посмотреть сообщение
находите сумму их длин и делите на количество
Как это реализовать можете подсказать(я чуть написал, но вот как найти сумму длин не понимаю)
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>
#include <vector>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "ru");
    int N;
    cout << "Введите N: ";
    cin >> N;
    vector <int> a(N);
    for (int i = 1; i < N; i++)
    {
        cout << "Ввод " << i << " элемента ";
        cin >> a[i];
    }
    int sum = 0;
    for (int i = 1; i < N; i++)
    {
        if (a[i] > 0)
            sum += a[i];
    }
    return 0;
}
0
168 / 90 / 44
Регистрация: 22.09.2019
Сообщений: 390
27.10.2020, 14:47 5
как вариант
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 <vector>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "ru");
    int N;
    cout << "Введите N: ";
    cin >> N;
    vector <int> a(N);
    int count = 0;
    double commonLengh = 0;
    bool flag = false;
    for (int i = 0; i < N; i++)
    {
        cout << "Ввод " << i + 1 << " элемента ";
        cin >> a[i];
        if (a[i]) {
            ++commonLengh;
            if (!flag) {
                ++count;
                flag = true;
            }
        } else {
            flag = false;
        }
    }
    cout << commonLengh / count << '\n' ;
    for (auto & i : a) cout << i << ' ';
    return 0;
}
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 18
27.10.2020, 14:50  [ТС] 6
Цитата Сообщение от alo_wu Посмотреть сообщение
как вариант
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 <vector>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "ru");
    int N;
    cout << "Введите N: ";
    cin >> N;
    vector <int> a(N);
    int count = 0;
    double commonLengh = 0;
    bool flag = false;
    for (int i = 0; i < N; i++)
    {
        cout << "Ввод " << i + 1 << " элемента ";
        cin >> a[i];
        if (a[i]) {
            ++commonLengh;
            if (!flag) {
                ++count;
                flag = true;
            }
        } else {
            flag = false;
        }
    }
    cout << commonLengh / count << '\n' ;
    for (auto & i : a) cout << i << ' ';
    return 0;
}
Извините еще раз, а можете объяснить, по конкретнее, что было сделано и для чего (я только начал учить С и много что не понятно)
0
168 / 90 / 44
Регистрация: 22.09.2019
Сообщений: 390
27.10.2020, 14:57 7
Лучший ответ Сообщение было отмечено zeebro222 как решение

Решение

Цитата Сообщение от zeebro222 Посмотреть сообщение
можете объяснить
конечно!
Кликните здесь для просмотра всего текста
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 <vector>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "ru");
    int N;
    cout << "Введите N: ";
    cin >> N;
    vector <int> a(N);
    int count = 0;// количество непрервыных участков положительных чисел
    double commonLengh = 0;//общая длина всех участков
    bool flag = true;//было ли предыдущее число меньше нуля либо нулем
    for (int i = 0; i < N; i++)
    {
        cout << "Ввод " << i + 1 << " элемента ";
        cin >> a[i];
        if (a[i]) {//если число больше нуля
            ++commonLengh;//увеличиваем общую длину
            if (flag) {//и если предыдущее было отрицаельным, то 
                ++count;//у нас начался следующий участок с положительными числами, увеличиваем счетчик
                flag = false;
            }
        } else {//число меньше нуля, значит
            flag = true;//флаг принимает true
        }
    }
    cout << commonLengh / count << '\n' ; //делим общую длину на количество и получаем среднее значение
    for (auto & i : a) cout << i << ' '; // вывод вектора в консоль
    return 0;
}
p.s. немного изменил код для лучшего понимания
0
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 18
27.10.2020, 15:06  [ТС] 8
Цитата Сообщение от alo_wu Посмотреть сообщение
конечно!
Кликните здесь для просмотра всего текста
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 <vector>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "ru");
    int N;
    cout << "Введите N: ";
    cin >> N;
    vector <int> a(N);
    int count = 0;// количество непрервыных участков положительных чисел
    double commonLengh = 0;//общая длина всех участков
    bool flag = true;//было ли предыдущее число меньше нуля либо нулем
    for (int i = 0; i < N; i++)
    {
        cout << "Ввод " << i + 1 << " элемента ";
        cin >> a[i];
        if (a[i]) {//если число больше нуля
            ++commonLengh;//увеличиваем общую длину
            if (flag) {//и если предыдущее было отрицаельным, то 
                ++count;//у нас начался следующий участок с положительными числами, увеличиваем счетчик
                flag = false;
            }
        } else {//число меньше нуля, значит
            flag = true;//флаг принимает true
        }
    }
    cout << commonLengh / count << '\n' ; //делим общую длину на количество и получаем среднее значение
    for (auto & i : a) cout << i << ' '; // вывод вектора в консоль
    return 0;
}
p.s. немного изменил код для лучшего понимания
Спасибо вам огромное!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2020, 15:06
Помогаю со студенческими работами здесь

Определить среднюю длину слова в введенной текстовой строке, символы пунктуации на длину не влияют
определить среднюю длину слова в введенной текстовой строке, символы пунктуации на длину не влияют....

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

Подсчитать количество всех, непрерывных последовательностей положительных чисел, длина которых больше 7
Подсчитать количество всех, непрерывных последовательностей положительных чисел, длина которых...

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

Определить среднюю длину слов в предложении
В введенном предложении определить среднюю длину слов в буквах (знаки препинания, числа и другие ...

Определить среднюю длину слов в предложении
В введенном предложении определить среднюю длину слов в буквах (знаки препинания, числа и другие...


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

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

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