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

Не выводится текст в файл

24.11.2021, 12:32. Показов 580. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В файл text2.txt не выводится текст. В программе убираю лишние пробелы. Файл прикрепил
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
#include <iostream>
#include <fstream>
#include <ctime>
#include <cmath>
#include <stdio.h>
#include <string>
#include <cstring>
#include <typeinfo>
using namespace std;
void delete_space(string s){
    ofstream fout("text2.txt");
    bool flg = 1;
    for (int i = 0; i < s.length(); i++){
        if (s[i] == ' ' and s[i + 1] == ' '){
            int k = i;
            while (s[k] == ' '){
                k += 1;
            }
            fout<<" ";
            if (k - i > 50){
                flg = 0;
            }
            i = k - 1;
        }
        else{
            fout<<s[i];
        }
    }
    if (flg == 1){
    fout << '\n';
    }
}
int main(){
    string s;
    ifstream fin("text1.txt");
    while (getline(fin, s)){
        delete_space(s);
    }
}
Вложения
Тип файла: txt text1.txt (810 байт, 11 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2021, 12:32
Ответы с готовыми решениями:

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

Не выводится текст, в консоли выводится
Не выводится текст, в консоли выводится. Куда смотреть? Что может перекрывать его или где копать? ...

Дан файл, содержащий текст. Переписать в другой файл этот текст через один символ
Здравствуйте, нужна помощь с написанием кода. Дан файл, содержащий текст. Переписать в другой файл...

Дан файл 4.тхт, содержащий текст. Необходимо удалить из данного текста все пробелы. Сохранить преобразованный текст в файл
Дан файл 4.txt, содержащий текст. Необходимо удалить из данного текста все пробелы. Сохранить...

Не выводится текст
Здравствуйте, делаю прогу крестики-нолики столкнулся с трудностью, при завершении игры не выводится...

3
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.11.2021, 16:40 2
Вы открываете файл text2.txt в цикле и производите запись, поэтому затираете предыдущий результат. напишите условие задачи - интересует могут ли находиться лишние пробелы в конце текста
1
0 / 0 / 0
Регистрация: 08.03.2019
Сообщений: 5
24.11.2021, 18:49  [ТС] 3
Цитата Сообщение от Yetty Посмотреть сообщение
Вы открываете файл text2.txt в цикле и производите запись, поэтому затираете предыдущий результат. напишите условие задачи - интересует могут ли находиться лишние пробелы в конце текста
Все двойные (и более) пробелы заменить на одинарные. Лишние пробелы убрать. Убрать пустые строки.
Все предложения должны начинаться с заглавной буквы. Остальные буквы должны быть строчными. После точки должен быть или пробел, или перенос строки. После запятой должен быть пробел.
Все абзацы должны выделяться символом табуляции. Других символов табуляции быть не должно.
Нумерованный список должен выводиться построчно. Перед списком и после списка должно быть по 1 пустой строке.
В конце файла вывести служебную информацию по отформатированному тексту: количество абзацев, строк, слов, символов (букв, цифр, других).

Добавлено через 2 минуты
Yetty, Yetty,
А каким образом этого можно избежать? Просто в голову вообще ничего не приходит
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.11.2021, 19:41 4
Sergeysf, это просто пример который может быть взят за основу для решения задачи. я бы удалял (точнее даже сказать не записывал) лишние пробелы так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
 
int main()
{
    size_t i=0, k=0;
    string s="      adc    ghfg gf    hghfgddf";
    
    while(s[i])
    {
        if(!isspace(s[i])) {cout << s[i]; k=1;}
        else if(isspace(s[i]) && k) {cout << s[i]; k=0;}
        i++;
    }   
    
system("pause");
return 0;
}
заменив на ввод с файла можно читать файл посимвольно: in.get(ch)

Добавлено через 12 минут
учитывая, что это задача на исправление текста и нужно ещё менять строчные буквы на заглавные в начале предложения и остальные на строчные, можно сначала записать результат в строку, заменить буквы, а потом уже исправленную строку записать в файл, т.е. объявить строку s1 и заменить cout << s[i]; на s1+=s[i];

Добавлено через 5 минут
и ещё нужно добавить пробелы после точки и запятой
0
24.11.2021, 19:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2021, 19:41
Помогаю со студенческими работами здесь

Не выводится текст
using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class...

не выводится текст
&lt;? // подключаем базу и вывод каталога include 'bd.php'; $db = connect_db (); $goods =...

выводится текст
Всем привет, выводится текст (начальная позиция, например х = 5), как можно сделать так, чтобы при...

Не выводится текст
//=================================================================================================...

Не выводится текст
Здравствуйте, тут такое дело, я создаю приложение в Windows Forms, и мне надо, чтобы при нажатии...


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

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