Форум программистов, компьютерный форум CyberForum.ru

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

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

Строки в файлах (вывести из каждой строки последнее слово) - C++

12.12.2012, 23:43. Просмотров 1088. Ответов 11
Метки нет (Все метки)

выводит из каждой строки последнее слово (строк может быть много) ... вот что я сделал, но у меня выводит только последнее слово в последней строчке..
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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string> 
 
using namespace std;
 
int main()
{
    ifstream file;
    string str;
    file.open("1.dat");
    while (!file.eof())
    {
        string s;
        getline(file,s);
        str+=s;
    }
    cout << str<<endl;
    int i,j=0,k=0,pr[200];
    for(i=0;i<str.length();i++)
    {
        if (str[i]==' ') {pr[j++]=i;}
    }
    int a=1;
    for (i=0;i<j;i++)
    {   
        if ((str[pr[i]-1]=='!')||((str[pr[i]-1]=='?'))||(str[pr[i]-1]=='.')||(str[pr[i]-1]=='...')) a++;
        
    }
    
    cout<<"Kilkist rechen - "<<a<<endl;
    cout<<"Kilkist  sliv v rechenni - "<<j+1<<endl;
        for (i=str.length()-1;i>0;i--)
    {
        if (str[i]==' ') {;break;}
    }
    i++;
    if (i!=str.length())
    {
        for (;i<str.length()-1;i++)
            cout<<str[i];
    }
    file.close();
    getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 23:43     Строки в файлах (вывести из каждой строки последнее слово)
Посмотрите здесь:

Вывести на экран последнее слово строки C++
C++ С++ Удалить в каждой строке последнее слово
C++ Выделить последнее слово из введенной строки
Удалить из строки предпоследнее и последнее слово в с++ C++
C++ Для каждой строки файла переставить первое и среднее слово
C++ Как считать первое слово из каждой строки?
Строки. Найти и удалить последнее слово, являющееся палиндромом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
13.12.2012, 00:59     Строки в файлах (вывести из каждой строки последнее слово) #2
C++
1
2
3
4
string s;
 getline(file,s);
 str+=s;
str+="\n";
если не получтся, дай файл с текстом...)
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 01:10  [ТС]     Строки в файлах (вывести из каждой строки последнее слово) #3
не получается...
Вложения
Тип файла: rar 1.rar (107 байт, 3 просмотров)
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
13.12.2012, 01:19     Строки в файлах (вывести из каждой строки последнее слово) #4
у тебя там всего одна строка
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 01:22  [ТС]     Строки в файлах (вывести из каждой строки последнее слово) #5
Одна длинная, но когда в проге выводится на екран, то их много
MrGluck
Ворчун
Эксперт CЭксперт С++
6634 / 3825 / 502
Регистрация: 29.11.2010
Сообщений: 10,110
13.12.2012, 01:33     Строки в файлах (вывести из каждой строки последнее слово) #6
kaka26, все равно, как терминал строку выводит, '\n' там всего один, до него и считывает.
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 01:39  [ТС]     Строки в файлах (вывести из каждой строки последнее слово) #7
Нужно вывести обведенные слова
Миниатюры
Строки в файлах (вывести из каждой строки последнее слово)  
MrGluck
Ворчун
Эксперт CЭксперт С++
6634 / 3825 / 502
Регистрация: 29.11.2010
Сообщений: 10,110
13.12.2012, 02:08     Строки в файлах (вывести из каждой строки последнее слово) #8
kaka26, если вам прям так охота заниматься методом бобра-извращенца, то необходимо знать точное количество символов в строке вашем терминале и рассчитывать на именно вашу длину, надеясь что размер окна вы менять не будете.
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 02:12  [ТС]     Строки в файлах (вывести из каждой строки последнее слово) #9
Можете это сделать(там размер окна можно менять только в высоту)? Плиз... на завтра последние сроки. препод уже замучил меня с этим. Буду очень благодарен...
MrGluck
Ворчун
Эксперт CЭксперт С++
6634 / 3825 / 502
Регистрация: 29.11.2010
Сообщений: 10,110
13.12.2012, 02:23     Строки в файлах (вывести из каждой строки последнее слово) #10
kaka26, почему бы вам просто не разделить строки нажатиями Enter в файле, как все люди?
Но если не хотите, выкладывайте количество символов в вашей консоли. Хотя бы препод улыбнется при проверке.
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 02:40  [ТС]     Строки в файлах (вывести из каждой строки последнее слово) #11
Я уже 4 дня над ней мучаюсь...может вы все-таки сделаете мне? Ну плиз...препод не хочет зачет ставить

Добавлено через 3 минуты
Я уже 4 дня над ней мучаюсь....прапод говорит, что зачет не поставит, если не сделаю это. Помогите плиз...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2012, 02:48     Строки в файлах (вывести из каждой строки последнее слово)
Еще ссылки по теме:

C++ Для каждой строки файла удалить короткое слово
C++ Заменить последнее слово из введенной строки на последовательность символов «*»
C++ Получить слово, образованное k-ыми символами каждой строки
C++ исключить из строки первое и последнее слова и вывести текст,который остался
Выделить последнее слово из введенной строки и отобразить его на экране C++

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт CЭксперт С++
6634 / 3825 / 502
Регистрация: 29.11.2010
Сообщений: 10,110
13.12.2012, 02:48     Строки в файлах (вывести из каждой строки последнее слово) #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs) return 1;
    std::string str;
    while (!ifs.eof() && std::getline(ifs, str))
    {
        const std::size_t pos = str.rfind(' ');
        std::cout << (pos == std::string::npos ? str : str.substr(pos+1)) << std::endl;
    }
}
Файл input.txt
Код
abcde fdsh
asd dsgh
asd dshg
fff fffff
1
222 22
Yandex
Объявления
13.12.2012, 02:48     Строки в файлах (вывести из каждой строки последнее слово)
Ответ Создать тему
Опции темы

Текущее время: 20:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru