Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AkinoTori
0 / 0 / 0
Регистрация: 19.04.2016
Сообщений: 1
#1

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

19.04.2016, 21:12. Просмотров 220. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Файлы: преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания (C++):

Строки. Преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания - C++
Нужно преобразовать строку, заменяя каждую цифру соответствующим ей числом символов нижнего подчеркивания. Например: «3 слона» -&gt; «_ _...

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

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

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

Заменить пробелы знаком нижнего подчеркивания - C++
как заменить пробелы знаком _ . Этот код ничего не заменяет (Это присваивание потом заношу в структуру(PhoneBook-&gt;data=b)) char b; ...

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

1
Catstail
Модератор
23500 / 11608 / 1894
Регистрация: 12.02.2012
Сообщений: 18,949
19.04.2016, 21:57 #2
Зачем разбивать на слова? Нужно просто читать побайтно, и встретив цифру выводить нужное число подчерков. Не цифры просто печатать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2016, 21:57
Привет! Вот еще темы с ответами:

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

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

Преобразовать данную строку заменив каждую точку многоточием - C++
1.Даны натуральное число n и символы S1, …, Sn (строка). Преобразовать данную строку, заменив в ней каждую точку многоточием (т.е. тремя...

Преобразовать двумерный массив в одномерный, удаляя каждую вторую строку - C++
Подскажите пожалуйста как 2D массив преобразовать в 1D, при этом удаляя каждую 2рую строку. Прилагаю свой вариант кода... Мб подскажите...


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

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

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