Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка: выражение должно иметь константное значение https://www.cyberforum.ru/ cpp-beginners/ thread2637501.html
Добрый день! Взял код отсюда ( http://itnovella.com/post/2020/1/13/euler-cpp-62/ ), также помог mathidiot в доработке кода. Выдаёт ошибку в строке 14: выражение должно иметь константное значение...
Рекурсивный поиск элемента методом золотого сечения в отсортированном массиве C++
Нужно найти указанный элемент массива (указывается с консоли) методом золотого сечения , не могу понять как сделать с рекурсией. Буду благодарна за любую помощь.
C++ Для заданной строки определить входит ли в неё хотя бы одна русская буква https://www.cyberforum.ru/ cpp-beginners/ thread2637495.html
Для заданной строки определить входит ли в неё хотя бы одна русская буква.
C++ Составить программу, выводящую на экран расписание полетов самолетов https://www.cyberforum.ru/ cpp-beginners/ thread2637493.html
Составить программу, выводящую на экран расписание полетов самолетов (пункт посадки, время отправления, время прибытия, время полета, стоимость билета). Определить номер рейса, который позже всех...
Выписать слова из строки не более 80 символов C++
Здравствуйте, не могу выполнить следующую задачу. Сможете написать код программы и подробно закоментировать. Заранее всем спасибо за ответы) Вот условие. Из строки длиной не более 80 символов...
C++ Шаблон класса https://www.cyberforum.ru/ cpp-beginners/ thread2637457.html
Доброго времени суток. Очень нужна помощь в этой задаче, она пока что невыполнима для меня: Создать шаблон класса для работы с очередью. Использовать созданный шаблон для разделения файла на два: в...
C++ Шаблон функции https://www.cyberforum.ru/ cpp-beginners/ thread2637453.html
Здраствуйте, хотел бы получить помощь в виде кода такой задачки с универа. Сам не способен разобраться и до конца понять условие: Создать шаблон функции для нахождения двух наибольших элементов...
C++ Почему в файл записывается на "китайском"
#include<fstream> #include<stdio.h> using namespace std; struct studInfo { char name; char lastName; char group; int yfb, course;
C++ Написать программу вычисления матрицы Даны две матрицы А(nxn) и C(nxn). Написать программу вычисления матрицы Ст*(А+С), где Ст - транспонированная матрица. https://www.cyberforum.ru/ cpp-beginners/ thread2637444.html C++ Нахождение максимального из скалярных произведений строк на столбцы матрицы https://www.cyberforum.ru/ cpp-beginners/ thread2637439.html
Даны две матрицы А(nxn) и B(nxn). Написать программу нахождения максимального значения max(S1, S2, ..., Sn), где Sk - скалярное произведение к - й строки матрицы А на к - й столбец матрицы В.
C++ Рекурсивный поиск методом стрельбы в отсортированном массиве
Нужно в отсортированном одномерном массиве найти указанный с консоли элемент с помощью поиска, методом стрельбы, не могу понять как можно реализовать. Спасибо за любую помощь.
C++ Прыжки с трамплина https://www.cyberforum.ru/ cpp-beginners/ thread2637435.html
На соревнованиях по прыжкам на лыжах с трамплина техника прыжка оценивается пятью судьями. Каждый судья ставит оценку от 1 до 20, после чего одна наименьшая и одна наибольшая оценки отбрасываются....
0 / 0 / 0
Регистрация: 05.05.2020
Сообщений: 224
0

Разделение строки символов на 2 части по значениям - C++ - Ответ 14517645

07.05.2020, 22:15. Показов 195. Ответов 0
Метки (Все метки)

Предположим у меня есть структура с двумя полями (symbol - строка, хранящая символ; how_many - частота, с которой этот символ встречается в тексте). Я создал массив структур и уже сохранил в каждой структуре в первом поле определённый символ, ему соответствует частота в этой же структуре в переменной how_many. Все символы отсортированы, т.е. первая структура массива структур содержит символ, частота которого превосходит частоту остальных символов, проще говоря сортировка по полю how_many. Теперь передо мной стоит задача следующего характера. Всего у меня 52 структуры, если не ошибаюсь. Теперь мне нужно разделить все 52 символа на две части по частоте. Это значит, что в одной переменной у меня должна храниться какая-то часть из 52 символов, также во второй переменной остальная часть. Но суммарные частоты каждой части должны быть максимально приближены друг к другу по значению. Значит если у меня список символов отсортирован, т.е. в нулевом элементе массива структур хранится символ с наибольшей частотой, то я мог бы сохранить в первую переменную небольшое кол-во высокочастотных символов, а во вторую большое кол-во низкочастотных. По этому принципу я написал код ниже, синтаксических ошибок нет, ругается компилятор и подчёркивает строку half2_symbols += symbols[num].symbol;.

Nmax - размер массива структур. Nnew - переменная, равная переменной Nmax, создана для предотвращения изменения значения в Nmax. all_how_many - суммарная частота всех символов. half_how_many - идеальная половина суммарной частоты всех символов. half1 - переменная для хранения частоты первой части набора символов. half2 - переменная для хранения частоты второй части набора символов. k1 - кол-во символов первой части. k2 - кол-во символов второй части. half1_symbols - строка с символами первой части. half2_symbols - строка с символами второй части.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int num = 0;
    string half1_symbols, half2_symbols;
    int Nnew = Nmax;
    int k1 = 0, k2 = 0;
    int half_how_many = all_how_many / 2, half1 = 0, half2 = 0;
    for (Nnew; Nnew > 0; Nnew--) {
        if (half1 + symbols[Nnew].how_many < half_how_many) {
            half1 += symbols[Nnew].how_many;
            half1_symbols += symbols[Nnew].symbol;
            k1++;
        }
    }
    half2 = all_how_many - half1;
    for (num; num < Nmax - k1; num++) {
        half2_symbols += symbols[num].symbol;
        k2++;
    }


Вернуться к обсуждению:
Разделение строки символов на 2 части по значениям C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2020, 22:15
Готовые ответы и решения:

Разделение строки на части
Доброго времени суток, уважаемые форумчане!...Возник следующий вопрос: имеется строка произвольной...

Разделение строки с именем на части
в общем нужно фио распарсить на ф и о тобиж из одной колонки в три 1,3 выходит без проблем ,...

Разделение строки на две части Split
Здравствуйте. Подскажите пожалуйста начинающему программисту, как по нажатию на кнопку button, из...

Разделение строки s на две части: до первого вхождения символа t и после него
Назначение: разделение строки s на две части: до первого вхождения символа t и после него ...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2020, 22:15
Помогаю со студенческими работами здесь

Разделение строки на две части до первого вхождения заданного символа и после него
Функция - Parse(s,t). Назначение - разделение строки s на две части: до первого вхождения символа t...

Функция - Parse(s,t). Разделение строки s на две части: до первого вхождения символа t и после него
Функция - Parse(s,t). Разделение строки s на две части: до первого вхождения символа t и после него...

Вывести части строки до определенных символов
Помогите мне с задачкой. Дана строка, нужно разделить ее на несколько частей до определенных...

Регулярка удаления части символов из строки
Помогите пожалуйста с регуляркой для notepad: Суть: ...

Как прочесть первые или последние N символов из строки, а так же из любой ее части
Задача: Есть TextBox в котором +100500 символов. Есть несколько иных TextBox, мне нужно, чтобы в...

Разделение на части
Привет. Как можно реализовать разделение текста на части. Пример: { Часть1 { ...

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