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

Замените все включения «Фамилия Имя Отчество» на «Фамилия Инициалы»

27.07.2022, 18:33. Показов 2277. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текст-письмо, состоящий из одного или нескольких предложений на английском языке с
возможными лидирующими и концевыми пробелами.
Каждое предложение содержит слова, разделённые пробелами, начинается с большой буквы
и заканчивается точкой. Других знаков препинания в предложениях нет.
В письме могут встречаться имена собственные вида «Фамилия Имя Отчество». Других слов с
большой буквы кроме первого слова предложения и включений «Фамилия Имя Отчество» в
предложениях нет.
Замените все включения «Фамилия Имя Отчество» на «Фамилия Инициалы».
Формат ввода: одна строка с исходным письмом.
Формат вывода: одна строка с откорректированным письмом.
Комментарий: данные примеров ввода и вывода располагаются в файлах в одну строку.
input.txt
Please convey my warm regards to
Ivanov Ivan Ivanovich.
output.txt
Please convey my warm regards
to Ivanov I.I.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.07.2022, 18:33
Ответы с готовыми решениями:

Замените все включения «Фамилия Имя Отчество» на «Фамилия Инициалы»
Помогите пожалуйста решить задачу. Желательно не очень трудный код и с разбором. Заранее спасибо) Дан текст-письмо, состоящий из...

Ввести имя, отчество и фамилию через пробел. Преобразовать их к формату «фамилия-инициалы»
На языке С++

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

35
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
30.07.2022, 22:53
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Наталья8 Посмотреть сообщение
Что такое чеккер?
Проверяющая система.
Что такое "ломает" я хз
0
 Аватар для Наталья8
617 / 375 / 67
Регистрация: 09.03.2016
Сообщений: 4,034
30.07.2022, 23:02
Чем меня заинтересовало, это без загрузки в память, через одну переменную.
programmer_08, так пишет.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
30.07.2022, 23:03
Предполагаю, что все символы не затрагивающиеся изменению, должны так же присутствовать в выходной строке.
На примере :
Code
1
"     Ivanov Ivan Ivanovich.    Please convey Ivanov Ivan Ivanovich my warm regards to.   "
ожидается результат :
Code
1
"     Ivanov I.I.    Please convey Ivanov I.I. my warm regards to.   "
С совпадением до символа, и никак по другому
Это фишка таких "проверяющих систем".
1
 Аватар для Наталья8
617 / 375 / 67
Регистрация: 09.03.2016
Сообщений: 4,034
30.07.2022, 23:05
У меня msvs вопросов не задаёт.
0
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
30.07.2022, 23:09
Цитата Сообщение от SmallEvil Посмотреть сообщение
С совпадением до символа, и никак по другому
а у меня как раз идёт пропуск "лишних" символов, также есть ещё один минус: если ФИО будет в начале предложения, то программа пропустит первое слово и всё полетит
1
 Аватар для Наталья8
617 / 375 / 67
Регистрация: 09.03.2016
Сообщений: 4,034
30.07.2022, 23:25
Цитата Сообщение от PELMENKA9183882 Посмотреть сообщение
Других слов с
большой буквы кроме первого слова предложения и включений «Фамилия Имя Отчество»
Ну да, у меня так же наверное.
В условиях написано.
Всё предусмотреть, неделю писать надо.
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
31.07.2022, 00:02
Цитата Сообщение от Наталья8 Посмотреть сообщение
Всё предусмотреть, неделю писать надо.
Серьезно ?
В соседней теме, я выложил минимальные и достаточные условия для разбора выражения.
Ведь не нужно все предусматривать.
Нужен самый простой лексический анализатор.
И да, подход оставлять все как есть, правильный, "нормализацию" и другие преобразования, выполняют по запросу отдельно.
Миниатюры
Замените все включения «Фамилия Имя Отчество» на «Фамилия Инициалы»  
0
 Аватар для Наталья8
617 / 375 / 67
Регистрация: 09.03.2016
Сообщений: 4,034
31.07.2022, 00:18
С точки зpения банальной эpудиции. каждый индивидуум, кpитически мотивиpующий абстpакцию, не может игноpиpовать кpитеpии утопического субьективизма, концептуально интеpпpетиpуя общепpинятые дефанизиpующие поляpизатоpы, поэтому консенсус, достигнутый диалектической матеpиальной классификацией всеобщих мотиваций в паpадогматических связях пpедикатов, pешает пpоблему усовеpшенствования фоpмиpующих геотpансплантационных квазипузлистатов всех кинетически коpеллиpующих аспектов.
0
 Аватар для Наталья8
617 / 375 / 67
Регистрация: 09.03.2016
Сообщений: 4,034
31.07.2022, 00:27
https://www.cyberforum.ru/atta... 1659216411
Изображения
 
0
 Аватар для Наталья8
617 / 375 / 67
Регистрация: 09.03.2016
Сообщений: 4,034
31.07.2022, 00:33
https://russianblogs.com/article/22581017621/
0
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
31.07.2022, 00:49
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <string>
#include <fstream>
#include <cstring>
using namespace std;
 
struct struc
{
std::string word = "";
std::string razd = "";
struc* next = NULL;
};
 
void check(struc* beg)
{
    struc* prev = NULL;
    int c = 0;
    while(beg)
    {
        if(isupper(beg->word[0])&&prev&&strchr("!?.", prev->razd[prev->razd.length()-1])==NULL)
            c++;
        else
            c = 0;
        if(c == 3)
        {
            string tmp = "";
            tmp += prev->word[0];
            if(strchr(",!?.", prev->razd[0]) == NULL)
                tmp += ".";
            prev->word = tmp;
            tmp = "";
            tmp += beg->word[0];
            if(strchr(",!?.", beg->razd[0]) == NULL)
                tmp += ".";
            beg->word = tmp;
            c = 0;
        }
        prev = beg;
        beg = beg->next;
    }
}
 
int main()
{
ifstream fin;
fin.open("input.txt");
struc beg, *it;
it = &beg;
string first = "";
char c = fin.get();
while(strchr(" ,!?.\t\n", c) != NULL && !fin.eof())
    first += c;
    
while(!fin.eof())
{
    do
    {
        it->word += c;
        c = fin.get();
    }while(!fin.eof() && strchr(" ,!?.\t\n", c) == NULL);
    
    do
    {
        it->razd += c;
        c = fin.get();
    }while(!fin.eof() && strchr(" ,!?.\t\n", c) != NULL);
    if(!fin.eof())
    {
        it->next = new struc;
        it = it->next;
    }
    else break;
}
fin.close();
ofstream fout; fout.open("output.txt");
 
it = &beg;
 
check(it);
fout << first;
while(it)
{
    fout << it->word << it->razd;
    it = it->next;
}
}
0
0 / 0 / 0
Регистрация: 27.07.2022
Сообщений: 10
31.07.2022, 16:56  [ТС]
Типо прога которая проверяет

Добавлено через 9 минут
Из-за структур 100% докопаются
0
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
31.07.2022, 17:41
PELMENKA9183882, т.е. к потокам, к std::string не прикопаются, к нерациональности работы тоже, а к структуре - да?) ну ок, вместо неё можно тогда юзать вектор, лист или ещё какой-нибудь готовый класс, так и скажите преподу. Если кнчн не примет - тогда да, исправим.
0
 Аватар для Наталья8
617 / 375 / 67
Регистрация: 09.03.2016
Сообщений: 4,034
31.07.2022, 23:37
Пустая работа.
Ни кого здесь не удовлетворишь.

Добавлено через 7 минут
Микширование видео .avi и аудио 32 битный float PCM.
Ппочему до часу продолж. видео норм, а больше часа видеофайл не проигрываеться.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//-------- Цикл перегонки звука ----------------------      
    do{
        if (enter_correct >= 0)
            check = fread(buf, 1, numbytes, fr);// цикл проверять на баги (недописание)
        else check = numbytes;
        if (enter_correct < 500) enter_correct++;
        sample_count += (numbytes / wav.blockAlign);// 512 в случае с 32 бита
        //--------
        if (enter_correct > correction){// Звук вперёд
            hr = AVIStreamWrite(m_pStreamAudio, count++//<-- First sample to write.(счётчик записываемых блоков)
                , 1, buf, check,//<-- Считанный блок.(размер)
                AVIIF_KEYFRAME, 0, 0);
        } printf("Audio_sample_count ----> %d \r", full_sample_count - sample_count);
    } while (check == numbytes//<-- Пока считанный блок полного размера
        && sample_count < full_sample_count);//--когда будет конец звукового файла, check не возвратит numbytes              
    //  --- Если конец видео, то тоже вылет из цикла
Всё в поряде. Может плеера не поддерживают.
Конвертер перегнал норм.

Добавлено через 2 минуты
Отрабатывает норм. звук в файле есть. Плеер не запускает.
0
 Аватар для programmer_08
687 / 444 / 209
Регистрация: 18.10.2020
Сообщений: 1,606
01.08.2022, 00:20
Наталья8, не понял
0
 Аватар для Наталья8
617 / 375 / 67
Регистрация: 09.03.2016
Сообщений: 4,034
01.08.2022, 00:33
И не надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.08.2022, 00:33
Помогаю со студенческими работами здесь

Дана строка вида «Фамилия Имя Отчество». Получить строку вида Имя Отчество
Дана строка вида «Фамилия Имя Отчество». Получить строку вида Имя Отчество

Запись "Фамилия Имя Отчество" перевести в "Фамилия И.О." (PascalABC -> C++)
Пожалуйста перевидите код с паскаля на с++!! uses crt; var s,s1:string; begin writeln('Введите Фамилию Имя Отчество'); read(s); ...

У меня выводит имя и фамилия, а отчество не хочет
Введите с клавиатуры терминала массив строк. Каждая строка имеет вид: &quot;Фамилия Имя Отчество&quot; (разделяются одним пробелом). Признак...

При сокращении "Фамилия Имя Отчество" к "Фамилия И.О." пропадают "И.О."
Подскажите, в чём может быть ошибка? Процедура сама по себе работает правильно, а в таком виде нет. ...

Разработка класса: Abiturient: Фамилия, Имя, Отчество, Адрес, Оценки
разработать класс включая в метод Set и Get определить другие методы. Написать программу демонстрирующую работу с этим классом. ...


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

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
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