Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Вывести два файла одновременно


Автор: евгеша 15.10.2009, 10:25
помогите пожалуйста,если не трудно, с решением задачи на С++
Условие:
Написать программу, выводящую на экран строки, которые одновременно содержатся в двух заданных текстовых файлах. Имена файлов прочесть с клавиатуры.

Сами файлы с текстом предварительно создать на любом из доступных дисков.



Модератор: Название темы должно отражать ее суть!

Автор: Anikmar 15.10.2009, 10:28
Если сами писать не хотите - обращайтесь в центр помощи.

Автор: ИванМ 15.10.2009, 14:55
Код

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>
#include <iterator>
#include <cstdlib>

int main()
{
    using namespace std;
    string f1name, f2name;
    cout<<"Name of file1: ";
    cin>>f1name;
    cout<<"Name of file2: ";
    cin>>f2name;
    ifstream f1(f1name.c_str());
    ifstream f2(f2name.c_str());

    vector<string> v1, v2; 
    
    copy(istream_iterator<string>(f1), istream_iterator<string>(), back_inserter(v1));
    copy(istream_iterator<string>(f2), istream_iterator<string>(), back_inserter(v2));

    for(vector<string>::iterator it=v1.begin();it!=v1.end();++it)
    {
        if(find(v2.begin(), v2.end(), *it)!=v2.end())
            cout<<*it<<endl;
    }

    f1.close();
    f2.close();
    system("pause");
}

Автор: bsa 18.10.2009, 18:35
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)