1 / 1 / 0
Регистрация: 02.01.2020
Сообщений: 38
1

Задача про ввод и вывод из файла

06.04.2020, 18:07. Показов 2209. Ответов 4

Author24 — интернет-сервис помощи студентам
Из файла «in.txt» вводятся отдельные символы. Признак конца ввода — из файла последовательно считаны символы «e», «n» и «d». Записать в файл «out.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
#include <iostream>
#include <cstring>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream fin("in.txt");
    ofstream fout("out.txt");
    char ch[100000];
    int i=0;
    while (!fin.eof())
    {
 
        fin>>ch[i];
        if(ch[i]=='d'){
            if(ch[i-1]=='n'){
                if(ch[i-2]=='e'){
                    break;
                }
 
            }
        }
        i++;
    }
    fout<<strlen(ch)<<endl;
    i=0;
    while(i<strlen(ch)){
            fout<<ch[i]<<" ";
        i++;
    }
    fin.close();
    fout.close();
    return 0;
}
Проблема в том что он не читает пробелы, а если сделать getline будет сбиваться счетчик и пропустит end
Можно сделать не использую другие библиотеки?

Примеры:


Ввод:
what about end spaces?
Вывод
14
w h a t (тут 3 пробела) a b o u t (и тут) e n d


Ввод:
asdfendqwerty
Вывод:

7
a s d f e n d
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2020, 18:07
Ответы с готовыми решениями:

Задача про Мартышку и Попугая (файловый ввод/вывод)
Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны...

Найти ошибку в задаче на файловый ввод/вывод (задача про МКАД)
Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с первого...

Вопрос про файловый ввод/вывод
Есть один глупый вопрос, но он очень меня интересует. Я учу С++ недавно. И вот дошел до файлового...

Вопрос про ввод и вывод в Windows Form
Вот такой проект Мне надо ввести целое положительное число в текстбокс, потом разложить его на...

4
7787 / 6555 / 2983
Регистрация: 14.04.2014
Сообщений: 28,647
06.04.2020, 20:02 2
Лучший ответ Сообщение было отмечено anakas как решение

Решение

13-я:
C++
1
while (cin.get(ch[i]))
16-ю убрать.
0
1 / 1 / 0
Регистрация: 02.01.2020
Сообщений: 38
06.04.2020, 20:25  [ТС] 3
Цитата Сообщение от nmcf Посмотреть сообщение
while (cin.get(ch[i]))
Извините, но при коде:
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
#include <iostream>
#include <cstring>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream fin("in.txt");
    ofstream fout("out.txt");
    char ch[100000];
    int i=0;
    while(cin.get(ch[i]))
    {
        if(ch[i]=='d'){
            if(ch[i-1]=='n'){
                if(ch[i-2]=='e'){
                    break;
                }
 
            }
        }
        i++;
    }
    fout<<strlen(ch)<<endl;
    i=0;
    while(i<strlen(ch)){
            fout<<ch[i]<<" ";
        i++;
    }
    fin.close();
    fout.close();
    return 0;
}
Никакой записи у меня вообще нет, хотя компилятор ошибки не выдает, а тестовая система в которую я отправляю

Первый тест
Ввод:
asdfendqwerty
Вывод:

0

Что должно быть, выше я писал

Не подскажите с чем это может быть связано?
0
7787 / 6555 / 2983
Регистрация: 14.04.2014
Сообщений: 28,647
06.04.2020, 22:07 4
C++
1
fin.get
1
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
06.04.2020, 22:25 5
Цитата Сообщение от anakas Посмотреть сообщение
Признак конца ввода — из файла последовательно считаны символы «e», «n» и «d».
что это за признак конца ввода ? как определить не прочитав полностью файл считаны все эти символы или нет ?

признак конца чтения может быть - считан определённый символ, например 'e', чтение прекращается

напишите оригинал условия задачи
0
06.04.2020, 22:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2020, 22:25
Помогаю со студенческими работами здесь

Задача по С++. Ввод-вывод в с++
Сформировать двоичный файл из элементов, заданной в варианте структуры, распечатать его содержимое,...

Разработать программу, отображающую информацию про кафедры ВУЗа (файловый ввод/вывод)
Здравствуйте. Помогите, пожалуйста, с программой. Тема: информационно-справочная система...

Задача про сортировку массива и его вывод
Помогите пожалуйста решить задачку : Дана квадратная матрица 4х4. Сделать одномерный массив,...

задача по Ассемблеру на ввод и вывод
пользователь вводит с клавиатуры число от 0 до 65535 (в десятичной системе). Enter - конец ввода....

Ещё раз про ввод/вывод (failed to create stream: Permission denied in c:inetpubwwwroot)
Г-да. У меня есть связка PHP и IIS. Я пытаюсь сделать такую банальную вроде штуку. $fs =...

Задача про вывод машин одного года выпуска
Всем привет, половина задачи решена, вывожу спиоск автомобилей, и теперь необходимо вывести именно...


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

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

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