С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
AkinoTori
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 1
1

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

19.04.2016, 21:12. Просмотров 244. Ответов 1
Метки нет (Все метки)

1) Преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания. Например: «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
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
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <cstdio>
#include <string.h>
 
using namespace std;
 
int main()
{
    FILE *f;
     f=fopen("F:\\fileText2.txt", "a");
 
    char buf[255];
 
    char **pEnd;
    int li1;
 
    if (f == NULL)
    {
        fprintf(stderr, "%s\n", "File is not found.");
    }
    else
    {
        while (fgets(buf, sizeof(buf), f))
        {
            char *word = strtok(buf, " ,.");
 
            while ( word != NULL )
            {
                if (!isdigit(word[0]))
                {
                    printf("%c", word[0] - 32);
                }
                else
                {
                    printf("%c", word[0]);
                }
 
                for (int i = 1; i < strlen(word); i++)
                {
                    if (isdigit( strtol(  buf, pEnd, li1 ) ) )
                    {
                        for (int j = 0; j < word[i]; j++)
                        {
                            fprintf(f,"%c", '_');
                        }
                    }
                    else
                    {
                        fprintf(f,"%c", word[i]);
                    }
                }
 
                fprintf(f,"%c", ' ');
 
                word = strtok(NULL, " ,.");
            }
        }
    }
fclose(f);
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2016, 21:12
Ответы с готовыми решениями:

Строки. Преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания
Нужно преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего...

Преобразовать строку, удалив из нее каждую пару символов ‘<<’ и повторив каждую пару символов ‘>>’.
В веденной пользователем строке, найти все вхождения подстроки и заменить ее на другую. Прошу...

В строке заменить каждый символ * числом, соответствующим номеру вхождения этого символа в строку
в заданной строке заменить каждый символ &quot;*&quot; числом, соответствующим номеру по порядку вхождения...

Составить программу для кодирования некоторого текста до 50 символов, заменяя каждую букву на пятую после нее букву из а
Составить программу для кодирования некоторого текста до 50 символов, заменяя каждую букву на пятую...

Заменить пробелы знаком нижнего подчеркивания
как заменить пробелы знаком _ . Этот код ничего не заменяет (Это присваивание потом заношу в...

1
Catstail
Модератор
23885 / 11931 / 2106
Регистрация: 12.02.2012
Сообщений: 19,403
19.04.2016, 21:57 2
Зачем разбивать на слова? Нужно просто читать побайтно, и встретив цифру выводить нужное число подчерков. Не цифры просто печатать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2016, 21:57

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

Каждую строку матрицы Z(5,4) преобразовать по правилу
Дана задача. Каждую строку матрицы Z(5,4) преобразовать по правилу: если максимальный элемент не...

Распечатать введённую строку, заменив строчные буквы прописными и повторив дважды каждую цифру
Вот такое вот задание! Помогите кто нибудь плииииз!!!


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru