Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Timbaland

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

#include<iostream>
#include<fstream>
#include<vector>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
class ProFile
{
        vector<vector<string>>Spys;
        ifstream f;
        char Bufeer[1024];
        int Count(int i)
        {
            int cou=0;
            for(int j=0;j<Spys[i].size(); j++)
                {
                        cou+=Spys[i][j].size();
                }
                return cou;
        }
public:
    ProFile(){}
    ~ProFile()
    {
        f.close();
    }
    void Vvod()
    {
        char Temp[1024];
        cout<<"Введите путь к файлу: \n\n";
        gets(Temp);
        f.open(Temp);
        if(!f)
        {
            cout<<"\nФайл не открылсо \n";
            cin.get();
            exit(1);
        }
    }
 
    void Print()
    {
            for(int i=0;i<Spys.size();i++)
            {
                    for(int j=0;j<Spys[i].size();j++)
                    {
                            cout<<Spys[i][j]<<" ";
                    }
                    cout<<"\n\n";
            }
    }
 
    void Inform()
    {
            cout<<"\n\t\t-----Информация о файле-----\n\n";
            for(int i=0;i<Spys.size();i++)
            {
                    cout<<"В "<<i+1<<" строке "<<Spys[i].size()<<" слов(а) "<<", "<<Count(i)<<" букв.\n\n";
            }
    }
 
    void Opeen()
    {
            vector<string>Str;
            for(int i=0;!f.eof();i++)
            {
                    f>>Bufeer;
                    Str.push_back(Bufeer);
                    if(f.peek()=='\n')
                    {
                            Spys.push_back(Str);
                            Str.clear();
                    }
            }
            Spys.push_back(Str);
    }
    void Sort(int sor)
    {
        for(int i=0;i<Spys.size(); i++)
        {
            sort(Spys[i].begin(),Spys[i].end());
        }
    }
 
    void Swap(int stroka, int let1, int let2)
    {
            swap(Spys[stroka-1][let1-1],Spys[stroka-1][let2-1]);
    }
 
};
int main()
{
        setlocale (LC_ALL,"RUSSIAN");
        char Path[1024];
        int edit,stroka,let1,let2,sor;
        ProFile NEW;
        NEW.Vvod();
        NEW.Opeen();
        do
        {
            cout<<"\n1 - Вывести информацию о файле\n";
            cout<<"2 - Поменять слова местами\n";
            cout<<"3 - Отсортировать заданную строку\n";
            cout<<"4 - Выход из программы\n=> ";
            cin>>edit;
            cout<<"\n";
            switch(edit)
            {
            case 1:
                {
                    system("cls");
                    NEW.Print();
                    NEW.Inform();
                    break;
                }
            case 2:
                {
                    system("cls");
                    NEW.Print();
                    cout<<"\nВведите строку в которой будем менять\n=> ";
                    cin>>stroka;
                    cout<<"Введите позицию 1 слова\n=> ";
                    cin>>let1;
                    cout<<"Введите позицию 2 слова\n=> ";
                    cin>>let2;
                    cout<<"\n\n";
                    NEW.Swap(stroka,let1,let2);
                    NEW.Print();
                    break;
                }
            case 3:
                {
                    system("cls");
                    NEW.Print();
                    cout<<"\nВведите строку которую будем сортировать\n=> ";
                    cin>>sor;
                    cout<<"\n\n";
                    NEW.Sort(sor);
                    NEW.Print();
                    break;
                }
            }
        }
        while(edit!=4);
        system("pause");
}

Всего записей: 4 | Зарегистр. 20-09-2008 | Отправлено: 16:54 01-11-2008 | Исправлено: Timbaland, 18:28 01-11-2008
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru