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

Считать из текстового файла 3 предложения и вывести их в обратном порядке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 5.00
Iliabobr
3 / 3 / 1
Регистрация: 04.11.2009
Сообщений: 98
14.03.2011, 02:10     Считать из текстового файла 3 предложения и вывести их в обратном порядке #1
Проблемка в проге, помогите разобраться)) написать программу, которая считывает из текстового файла 3 предложения и выводит их в обратном порядке

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
48
49
#include<iostream.h>
#include<stdio.h>
#include<cstring.h>
using namespace std;
char * predl(FILE * f)
{
    char * buf=new char [255];
    char * raz=new char []=".!?";
    bool flag =true;
    int ind=0;
    while(!feof(f) && flag)
    {
        char ch=fgetc(f);
        for(int i=0;  strlen(raz);i++)
            if (raz[i]==ch)
                flag=false;
            if(ch!='\n')
            {
                buf[ind]=ch;
                ind++;
                if(ind>=255)
                    flag=false;
            }
    }
    buf[ind]='\n';
    return buf;
}
int main()
{
    char *fname = new char[255];
    cout<<"Fname= ";
    cin>>fname;
    FILE * f=fopen(fname, "r");
    if(!f)
        return 1;
    char * a1=predl(f);
    char * a2=predl(f);
    char * a3=predl(f);
    cout<<"Base array: "<<endl;
    cout<<"1: "<<a1<<endl;
    cout<<"2: "<<a2<<endl;
    cout<<"3: "<<a3<<endl;
    cout<<"Remake array: "<<endl;
    cout<<"1(3): "<<a3<<endl;
    cout<<"2(2): "<<a2<<endl;
    cout<<"3(1): "<<a1<<endl;
    cin.get();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2011, 02:10     Считать из текстового файла 3 предложения и вывести их в обратном порядке
Посмотрите здесь:

C++ считать текст из файла и вывести на экран все его предложения в обратном порядке
C++ считать три предложения и вывести их в обратном порядке.
Считать текст из файла и вывести все его предложения в обратном порядке C++
C++ Считать из текстового файла три предложения и вывести их в обратном порядке
Считать в строку три предложения и вывести их в обратном порядке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
14.03.2011, 04:52     Считать из текстового файла 3 предложения и вывести их в обратном порядке #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
45
46
47
48
49
#include <iostream>
#include <fstream>
#include <string>
 
bool line(std::ifstream& ifs, size_t linesCount = 3);
 
int main(int argc, char* argv[])
{
    if(argc != 2)
    {
    std::cerr << "Usage: `" << *argv << "' FILE" << std::endl;
    return 1;
    }
 
    std::ifstream ifs(argv[1]);
 
    if(!ifs.is_open())
    {
    std::cerr << "Can't open file `" << argv[1] << "' for input" << std::endl;
    return 1;
    }
 
    std::cout << "Printing 3 lines of file `" << argv[1] << "' in the reverse order..." << std::endl;
    
    if(!line(ifs))
    {
    std::cerr << "Error reading from file `" << argv[1] << "'" << std::endl;
    return 1;
    }
    
    return 0;
}
 
bool line(std::ifstream& ifs, size_t linesCount)
{
    if(linesCount == 0)
    return true;
 
    std::string l;
 
    std::getline(ifs, l);
    if(ifs.fail())
    return false;
 
    bool result = line(ifs, --linesCount);
    std::cout << l << std::endl;
 
    return result;
}
Iliabobr
3 / 3 / 1
Регистрация: 04.11.2009
Сообщений: 98
20.03.2011, 03:53  [ТС]     Считать из текстового файла 3 предложения и вывести их в обратном порядке #3
а с каким именем файл используется?
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.03.2011, 07:46     Считать из текстового файла 3 предложения и вывести их в обратном порядке #4
Iliabobr, имя файла передается программе как аргумент из командной строки.
Iliabobr
3 / 3 / 1
Регистрация: 04.11.2009
Сообщений: 98
20.03.2011, 15:08  [ТС]     Считать из текстового файла 3 предложения и вывести их в обратном порядке #5
Это вроде понятно, но мне надо сделать чтоб имя файла можно было в самой программе вводить, ну вот у меня так сделано, но не работает((
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.03.2011, 16:33     Считать из текстового файла 3 предложения и вывести их в обратном порядке #6
Iliabobr, открываешь консоль, переходишь в папку с исполняемым файлом программы, запускаешь программу так:
Код
ПРОГРАММА ИМЯ_ТЕКСТОВОГО_ФАЙЛА
Yandex
Объявления
20.03.2011, 16:33     Считать из текстового файла 3 предложения и вывести их в обратном порядке
Ответ Создать тему
Опции темы

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