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

Строковый ввод-вывод - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
deface
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 14
30.01.2012, 18:51     Строковый ввод-вывод #1
1) Скопировать из файла F1 в файл F2 строки, начиная с N до K.
2) Подсчитать количество согласных букв в файле F2.

заранее спасибо!!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,508
30.01.2012, 20:25     Строковый ввод-вывод #2
Цитата Сообщение от deface Посмотреть сообщение
1) Скопировать из файла F1 в файл F2 строки, начиная с N до K.
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
#include <iostream>
#include <fstream>
#include <string>
#include <assert.h>
using namespace std;
 
int main()
{
    int n=4,k=5;
 
    ifstream in("in.txt");
    ofstream out("out.txt");
 
    assert(in!=NULL || out!=NULL);
 
    char ch;
    while(in.good() && n)
    {
        ch=in.get();
        if(ch=='\n')
         n--;
 
    }
 
    while(in.good() && k)
    {
        ch=in.get();
        if(ch=='\n')
         k--;
        out<<ch;
    }
}
Добавлено через 32 секунды
Цитата Сообщение от deface Посмотреть сообщение
2) Подсчитать количество согласных букв в файле F2.
Ну это по-моему слишком просто, это у вас думаю получиться и так.
deface
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 14
31.01.2012, 15:42  [ТС]     Строковый ввод-вывод #3
а не могли бы вы написать код ещё и ко второй части пжл!!!!
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
31.01.2012, 17:56     Строковый ввод-вывод #4
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
50
51
52
53
54
55
#include <iostream>
#include <fstream>
#include <algorithm>
#include <iterator>
 
void copy_file( std::string in_name, std::string out_name,
                            int first_str, int last_str );
 
size_t count_of_consonants( std::string file_name );
 
int main()
{   
    std::string input_str = "input.txt";
    std::string output_str = "output.txt";
    
    copy_file( input_str, output_str, 2, 5 );
    
    std::cout << count_of_consonants( output_str )
              << std::endl;
}
 
void copy_file( std::string in_name, std::string out_name,
                            int first_str, int last_str )
{
    std::fstream in( in_name, std::ios::in );
    std::fstream out( out_name, std::ios::out | std::ios::trunc );
    
    if ( first_str > last_str )
        throw "N > K!";
        
    std::string line;
    for (
        int i = 1;
        i <= last_str && std::getline(in, line); 
        ++i
        )
    {
        if ( i >= first_str && i <= last_str )
            out << line << std::endl;
    }
}
 
size_t count_of_consonants( std::string file_name )
{
    std::fstream in( file_name, std::ios::in );
    
    return std::count_if( std::istream_iterator< char > (in),
                            std::istream_iterator< char > (),
    [] ( const char ch ) -> bool
    {
        const std::string consonants = 
            "qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM";
        return consonants.find(ch) != std::string::npos;
    } );
}
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
iagon@shadeware:~$ cat input.txt && g++ test.cpp -std=c++0x && ./a.out && echo &&  cat output.txt
Oh, my love is like a red, red rose
That's newly sprung in June
Oh, my love is like a melody
That's sweetly played in tune
As fair art thou, my bonnie lass,
So deep in love am I
And I will love thee still, my dear,
Till all the seas gang dry.
Till all the seas gang dry, my dear,
Till all the seas gang dry
And I will love thee still, my dear,
Till all the seas gang dry.
 
52
 
That's newly sprung in June
Oh, my love is like a melody
That's sweetly played in tune
As fair art thou, my bonnie lass,
diagon@shadeware:~$
Yandex
Объявления
31.01.2012, 17:56     Строковый ввод-вывод
Ответ Создать тему
Опции темы

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