39 / 39 / 20
Регистрация: 23.04.2012
Сообщений: 462
Записей в блоге: 2
1

Прочитать строку из файла, разделить слова и вывести количество символов

09.12.2014, 23:47. Показов 4178. Ответов 2
Метки нет (Все метки)

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

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
#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h> 
using namespace std;
 
int main()
{
    ifstream fin("text.txt");             
    char S[255];    
    while (!fin.eof())                       
    {
        fin >> S;
    }                                            
    fin.close();
 
    //char S[255] = "roma,mago,shoma"; 
    char razdelitel[] = " ,./"; 
    char temp[255] = ""; 
    int count = 0; 
 
    char *P = 0; 
 
    cout << S << "\n\n"; 
    P = strtok(S, razdelitel); 
    {
        while (P) 
        {
            count = 0;
            for (int i = 0; i<strlen(P); i++)  
            {
                if (!strchr(temp, P[i]))
                {
                    temp[count] = P[i];  
                    count++; 
                }
            }
            cout << temp << ":\t" << strlen(temp) << "\n"; 
            P = strtok(0, razdelitel); 
        }
    }
    cin.get();
    system("pause");
}
Текст из файл присвоил массиву S, а при этом getline не работает, пробывал преобразовать String в char такая же ошибка... Ну а если присваивать String, то ошибка уже в функции strtok... Как можно решить проблему? Спасибо
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2014, 23:47
Ответы с готовыми решениями:

Разделить строку на слова, вывести в столбик, подсчитать количество слов с буквой "а"
Здравствуйте! Я новичок в этом деле. застопорился на строках Прошу помощи у вас Мне надо решить...

Вывести строку из файла и количество вхождений слова
Нужно написать программу, которая считывает текст из файла и выводит его на экран, после каждого...

Как прочитать определенное количество символов в строку
Подскажите как сделать определенное количество символов в строке , и чтобы если с клавиатуры ввели...

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

2
528 / 430 / 159
Регистрация: 25.11.2014
Сообщений: 1,662
10.12.2014, 00:01 2
C++
1
2
3
4
    while (!fin.eof())                       
    {
        fin >> S;
    }
Что делает этот код? Перезаписывает S каждый раз до конца файла. Поэтому и только последне слово.
Цитата Сообщение от ramazan05duldug Посмотреть сообщение
а при этом getline не работает
Не знаю, как ты его используешь, но getline нормально работает.
Можно и без него. В цикле прямо делать нужные тебе вычисления, а не после него.
1
39 / 39 / 20
Регистрация: 23.04.2012
Сообщений: 462
Записей в блоге: 2
10.12.2014, 00:14  [ТС] 3
Цитата Сообщение от Velesthau Посмотреть сообщение
Код C++
1
2
3
4
while (!fin.eof())
{
fin >> S;
}
Что делает этот код? Перезаписывает S каждый раз до конца файла. Поэтому и только последне слово.
Заменил
C++
1
fin.getline(S, 255);
Спасибо, все норм...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2014, 00:14
Помогаю со студенческими работами здесь

Разделить строку с пробелами на массив слов, затем вывести слова наоборот
Пример входных данных: 4123 awerrr rt Пример выходных данных: 3214 rrrewa tr

Прочитать строку с текстового файла и вывести ее в обратном порядке
Мне нужно прочитать строку с текстового файла и вывести ее в обратном порядке. Я не могу понять как...

Прочитать английский текст из файла и вывести на экран слова текста
Написать программу, которая считывает английский текст из файла и выводит на экран слова текста,...

Вывести слова текста, которые отличны от последнего слова и количество символов в которых не более четырех
Дан текст, содержащий от 2 до 50 слов, в каждом из которых от 1 до 7 строчных латинских букв;...

Удалить из файла строки содержащие слова в которых количество символов равно максимальной длине слова
здравствуйте,не могу справиться с задание:дан текстовый файл.удалить строки содержащие слова в...

Определить количество слов в тексте и вывести только те слова, количество символов в которых нечетное
Дан текст, в котором слова отделяются пробелами, в конце стоит точка. Определить количество слов и...


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

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

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