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

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

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

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

12.12.2012, 23:43. Просмотров 1132. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 23:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки в файлах (вывести из каждой строки последнее слово) (C++):

Вывести на экран последнее слово строки - C++
Вводится строка произвольного текста. Вывести на экран последнее слово (слова разделены пробелами).

Функция меняющая местами последнее слово строки на слово с указанным номером - C++
Помогите сделать функцию,которая в указанной строке меняет местами последнее слово и слово,номер которого определяется вторым параметром...

Определить, содержит ли последнее слово строки букву, с которой начинается первое слово - C++
2.) В динамической памяти размещена строка символов. Определить, содержит ли последнее слово строки букву, с которой начинается первое...

Скопировать второе слово каждой строки в начало следующей строки - C++
Привет, прошу помощи! Заранее спасибо! Индивидуальное задание: Скопировать второе слово каждой строки в начало следующей строки ...

Выделить последнее слово из введенной строки - C++
написать программу выделения последнего слова из введенной строки и отображение его на экране

Удалить из строки предпоследнее и последнее слово в с++ - C++
Вводится строка произвольного текста. Удалить из нее предпоследнее и последнее слово (слова разделены пробелами). Ребята, подскажите,...

11
NeonLost
Пес войны
75 / 86 / 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";
если не получтся, дай файл с текстом...)
1
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 01:10  [ТС] #3
не получается...
0
Вложения
Тип файла: rar 1.rar (107 байт, 3 просмотров)
NeonLost
Пес войны
75 / 86 / 3
Регистрация: 23.02.2012
Сообщений: 653
13.12.2012, 01:19 #4
у тебя там всего одна строка
1
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 01:22  [ТС] #5
Одна длинная, но когда в проге выводится на екран, то их много
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
13.12.2012, 01:33 #6
kaka26, все равно, как терминал строку выводит, '\n' там всего один, до него и считывает.
1
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 01:39  [ТС] #7
Нужно вывести обведенные слова
0
Миниатюры
Строки в файлах (вывести из каждой строки последнее слово)  
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
13.12.2012, 02:08 #8
kaka26, если вам прям так охота заниматься методом бобра-извращенца, то необходимо знать точное количество символов в строке вашем терминале и рассчитывать на именно вашу длину, надеясь что размер окна вы менять не будете.
1
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 02:12  [ТС] #9
Можете это сделать(там размер окна можно менять только в высоту)? Плиз... на завтра последние сроки. препод уже замучил меня с этим. Буду очень благодарен...
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
13.12.2012, 02:23 #10
kaka26, почему бы вам просто не разделить строки нажатиями Enter в файле, как все люди?
Но если не хотите, выкладывайте количество символов в вашей консоли. Хотя бы препод улыбнется при проверке.
1
kaka26
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 14
13.12.2012, 02:40  [ТС] #11
Я уже 4 дня над ней мучаюсь...может вы все-таки сделаете мне? Ну плиз...препод не хочет зачет ставить

Добавлено через 3 минуты
Я уже 4 дня над ней мучаюсь....прапод говорит, что зачет не поставит, если не сделаю это. Помогите плиз...
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
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
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2012, 02:48
Привет! Вот еще темы с ответами:

Строки. Найти и удалить последнее слово, являющееся палиндромом - C++
Помогите с задачей: Дана строка, состоящая из одного или нескольких слов, отделённых друг от друга одним пробелом. Найти и удалить...

Заменить последнее слово из введенной строки на последовательность символов «*» - C++
Написать программу замены последнего слова из введенной строки на последовательность символов «*» #include &quot;stdafx.h&quot; #include&lt;stdio.h&gt;...

Выделить последнее слово из введенной строки и отобразить его на экране - C++
Написать программу выделения последнего слова из введенной строки и отображение его на экране

Строки. Вывести на печать то слово этой строки, которое по алфавиту предшествует всем другим - C++
Дана строка из 20 различных слов (словом считается любой набор букв, за которым следует пробел). Вывести на печать то слово этой строки,...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
13.12.2012, 02:48
Ответ Создать тему
Опции темы

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