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

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

Восстановить пароль Регистрация
 
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
12.12.2012, 23:43     Строки в файлах (вывести из каждой строки последнее слово) #1
выводит из каждой строки последнее слово (строк может быть много) ... вот что я сделал, но у меня выводит только последнее слово в последней строчке..
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++ Строки, символы. вычислить, сколько раз встречается каждый символ в обоих строках, вывести второе слово второй строки в обратном порядке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NeonLost
Пес войны
 Аватар для 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
Пес войны
 Аватар для 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
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
13.12.2012, 01:33     Строки в файлах (вывести из каждой строки последнее слово) #6
kaka26, все равно, как терминал строку выводит, '\n' там всего один, до него и считывает.
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 01:39  [ТС]     Строки в файлах (вывести из каждой строки последнее слово) #7
Нужно вывести обведенные слова
Миниатюры
Строки в файлах (вывести из каждой строки последнее слово)  
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
13.12.2012, 02:08     Строки в файлах (вывести из каждой строки последнее слово) #8
kaka26, если вам прям так охота заниматься методом бобра-извращенца, то необходимо знать точное количество символов в строке вашем терминале и рассчитывать на именно вашу длину, надеясь что размер окна вы менять не будете.
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 02:12  [ТС]     Строки в файлах (вывести из каждой строки последнее слово) #9
Можете это сделать(там размер окна можно менять только в высоту)? Плиз... на завтра последние сроки. препод уже замучил меня с этим. Буду очень благодарен...
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
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++ Определить, содержит ли последнее слово строки букву, с которой начинается первое слово

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

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
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     Строки в файлах (вывести из каждой строки последнее слово)
Ответ Создать тему
Опции темы

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