Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 20.02.2023
Сообщений: 1

Найти среднюю длину отрицательных чисел данной в файле последовательности

20.02.2023, 20:30. Показов 1425. Ответов 1

Студворк — интернет-сервис помощи студентам
Функция должна открывать файл с вещественными числами и находить среднюю длину отрицательных чисел данной в файле последовательности.
Например:
В файле следующая последовательность: 0 1 -2 -0.1 -5 2 3 4 -1 -0.1 0.1 4 -10 1 7 8
Видим три подпоследовательности отрицательных чисел длиной 3, 2 и 1
Средняя длина - это сумма длин подпоследовательностей делённое на количество этих подпоследовательностей т.е. средняя длина = (3+2+1)/3=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
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <fstream>
 
int sr_dlin(char*);
 
int main()
{
    double a;
    sr_dlin("input.txt");
    return 0;
}
 
sr_dlin(char* name)
{
    std::ifstream fin;
    fin.open(name);
 
    int sum = 0, col = 0;
    double a, res = 0;
    while (fin >> a)
    {
        if (a < 0)
        {
            sum++;
        }
        if (a > 0)
        {
            col++;
            if (a > 0)
            {
                col--;
            }
        }
    }
    res = (double)sum / col;
    std::cout << res;
    fin.close();
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.02.2023, 20:30
Ответы с готовыми решениями:

Циклы: Найти величину наибольшего среди отрицательных чисел данной последовательности
Даны целое число n&gt;0 и последовательность из n вещественных чисел, среди которых есть хотя бы одно отрицательное число. Найти величину...

В двоичной последовательности найти среднюю длину связной группы нулей
В двоичной последовательности (состоящей из нулей и единиц) найти среднюю длину связной группы нулей. Однопроходные алгоритмы с помощью...

В двоичной последовательности найти среднюю длину связной группы нулей
В двоичной последовательности найти среднюю длину связной группы нулей

1
33 / 25 / 8
Регистрация: 18.12.2022
Сообщений: 83
22.03.2023, 13:43
Если я правильно понял задачу, то что-то такое
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
38
39
40
41
42
43
44
45
```cpp
#include <iostream>
#include <fstream>
#include <vector>
 
using namespace std;
 
int main() {
    ifstream file("numbers.txt");
 
    vector<int> negatives;
    int length = 0;
    int count = 0;
 
    while (!file.eof()) {
        double number;
        file >> number;
 
        if (number < 0) {
            length++;
        } else if (length > 0) {
            negatives.push_back(length);
            length = 0;
            count++;
        }
    }
 
    if (length > 0) {
        negatives.push_back(length);
        count++;
    }
 
    file.close();
 
    int sum = 0;
    for (auto n : negatives) {
        sum += n;
    }
 
    double average = (double)sum / count;
 
    cout << "Average length of negative numbers: " << average << endl;
 
    return 0;
}
Этот код считывает в файле под названием "numbers.txt " который содержит последовательность действительных чисел, разделенных пробелами. Он отслеживает длину каждой подпоследовательности отрицательных чисел и сохраняет эти длины в векторе, называемом `negatives`.

Как только весь файл прочитан, код вычисляет среднюю длину путем суммирования длин всех отрицательных подпоследовательностей и деления на количество этих подпоследовательностей.

Результат отображается на экране. Обрати внимание, что этот код предполагает, что файл существует и содержит по крайней мере одно отрицательное число. При необходимости ты можешь добавить дополнительную проверку на ошибки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2023, 13:43
Помогаю со студенческими работами здесь

В двоичной последовательности найти среднюю длину связной группы нулей
Задание по однопроходным алгоритмам. Нужно в двоичной последовательности (нулей и единиц т.е.) найти среднюю длину связной группы нулей.

Найти среднюю длину связной группы нулей в двоичной последовательности
В двоичной последовательности (состоящей из нулей и единиц) найти среднюю длину связной группы нулей. Добавлено через 2 часа 49 минут ...

Посчитать сколько отрицательных чисел получится в данной последовательности
Добрый вечер. Помогите с программой на динамические массивы, заранее спасибо. Даны действительные числа a1, а2, ..., аn.(n&lt;50). ...

Определить количество отрицательных чисел больших -5 в данной последовательности
Выводится на экран последовательность 20 случайных чисел из промежутка . Определить количество отрицательных чисел больших -5 в данной...

Найти количество положительных и отрицательных элементов данной последовательности
1. С клавиатуры вводится последовательность из n целых чисел (n вводится с клавиатуры). Найти количество положительных и отрицательных...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru