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

Обработка строк символов по информации из текстового файла

01.07.2022, 10:32. Показов 1011. Ответов 4

Author24 — интернет-сервис помощи студентам
Задано некоторое натуральное число k. Требуется вывести весь текст словами
(например, при k=5 вывод имеет вид «пять», при k=123 нужно вывести «сто двадцать три»
т.д.) в виде фразы «мы нашли в лесу k грибов», согласовывая окончание слова «гриб»
с числом k.

Можете пожалуйста помочь с написанием программы ? И если будет не сложно , то ещё оставить пару комментариев с пояснением.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2022, 10:32
Ответы с готовыми решениями:

Обработка строк символов по информации из текстового файла
Помогите пожалуйста исправить задачку, нужно чтобы выводило на экран большое количество чисел, и...

Обработка строк символов по информации из текстового файла. Вывести текст словами
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5...

Обработка строк символов по информации из текстового файла. Вывести в виде фразы «мне k лет»
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5...

Обработка информации из текстового файла
Дан файл формата Р1, Р2, …, Р10 – объемы поставок; x1, x2, …, x20 – объемы потреблений; S1,...

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

4
447 / 315 / 62
Регистрация: 09.03.2016
Сообщений: 3,075
01.07.2022, 11:50 2
Лучший ответ Сообщение было отмечено Stylechek как решение

Решение

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
86
87
88
89
90
91
// Разработать функцию, формирующую стринг, являющийся словесной записью (числителем)
//  заданного целого числа, количество цифр
 
#include "stdafx.h"
#include <stdio.h>
#include <cstring>
#include <stdlib.h>
                   #include <iostream>
#pragma warning(disable : 4996)
#pragma warning(disable : 4703)
 
 
static char *sot[] = { "сто", "двести", "триста", "четыреста",
"пят", "шест", "сем", "восем", "девят" };
static char *desiat[] = { " двадцать", " тридцать", " сорок", " пят", " шест",
" сем", " восем", " девяносто" };
static char *edm[] = { "", " один", " два", " три", " четыре", " пять", " шесть",
" семь", " восемь",
" девять", " десять", " один", " две", " три",
" четыр", " пят", " шест", " сем", " восем", " девят" };
static char *edw[] = { " одна", " две" };
static char *nmtr[] = { " тысяч", " миллион", " миллиард", " триллион",
" квадриллион", " квинтиллион", " сектиллион", " септаллион", NULL };
// дальше не знаю, м.б. товарищи подскажут ...
static char *nokm[] = { "а", "ов" };
static char *nokt[] = { "а", "и", "" };
 
 
 
/* ------------------ */
 
int sklon(int dd)    /* Определение склонения числа */
{
    int n, r;
r = 2;
n = dd % 100;
    if (n>4 && n<20) return(r);
n = n % 10;
    if (n == 1)       r = 0;
    else if (n>1 && n<5) r = 1;
    return(r);
}
 
/* ------------------ */
void Propis2(unsigned long L, int n, char *s) // Число прописью
{
    int R, ns, nd, r; char *p; unsigned long M;
 
    M = L / 1000;
    R = L % 1000;
    if (M != 0) Propis2(M, n + 1, s);  // Рекурсия!
    if (R == 0) return;
    ns = R / 100;
    if (ns)    sprintf(s + strlen(s), " %s", sot[ns - 1]);
    if (ns >= 5) strcat(s, "ьсот");
    R = R % 100;  // < 100
    nd = R / 10;  // Десятки
    if (nd >= 2) {
        strcat(s, desiat[nd - 2]);
        if (nd >= 5 && nd <= 8) strcat(s, "ьдесят");
        R = R % 10;
    }
    r = sklon(R);
    if (n == 1 && R>0 && R<3) p = edw[R - 1];
    else                    p = edm[R];
    strcat(s, p);
    if (R > 10) strcat(s, "надцать");
    if (n > 0) {
        strcat(s, nmtr[n - 1]);
        if (n == 1) strcat(s, nokt[r]);
        else if (r>0) strcat(s, nokm[r - 1]);
    }
}
/*********************/
 
//long atol(char *b);
 
void main()
{
               setlocale(LC_ALL, "Russian");
    char b[200], s[1000]; unsigned long L;
 
a: printf(">");
    gets(b);
    if (strlen(b) == 0) return;
    s[0] = '\0';
    L = atol(b);
    Propis2(L, 0, s);
    printf("%s\n", s);
    goto a;
}
1
3697 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
01.07.2022, 12:20 3
Цитата Сообщение от Наталья8 Посмотреть сообщение
// дальше не знаю, м.б. товарищи подскажут ...
googol
0
447 / 315 / 62
Регистрация: 09.03.2016
Сообщений: 3,075
01.07.2022, 15:37 4
Ясный хрен.
Не сам же я такую беду написал.

Добавлено через 4 минуты
Тут мозги нужны. А где взять то?
0
3697 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
01.07.2022, 15:46 5
Наталья8, гугол(англ., googol), это число такое
А поисковик пишется иначе : google
0
01.07.2022, 15:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2022, 15:46
Помогаю со студенческими работами здесь

Чтение информации из текстового файла в массив строк.
Считать из текстового файла информацию в массив строк. Отобразить на экран. Удалить повторяющиеся...

Обработка строк с текстового файла
Программа должна считать и сравнивать количество букв &quot;А&quot; и &quot;О&quot; с учетом регистра и раскладки...

Вывести количество символов и строк из текстового файла
4. Даны текстовый файл. Вывести количество символов и строк, содержащиеся в нем (маркеры концов...

Разработать программу обработки текстового файла с использованием строк и символов
Разработать программу обработки текстового файла с использованием строк и символов. Написать...

Создать массив из количеств символов в каждой из строк текстового файла
Дан текстовый файл. Создать на его основе целочисленный массив а, состоящий из чисел,...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru