Задача: Файловый ввод/вывод (текстовый)

Тема в разделе "C/C++/C#", создана пользователем -, 29 ноя 2010.

Статус темы:
Закрыта.
  1. Гость

    Помогите ришить задачу пожалуйста.
    Случайным образом создать таблицу пар целочисленных значений и записать её в текстовый файл в виде:
    X Y
    5 1
    2 8
    12 3
    - -
    - -
    Считать из файла пары значений и в тех из них, где X>Y , поменять значения X и Y местами. Результат записать в другой текстовый файл такого же формата.
     
  2. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Код (C++):
    #include <iostream>
    #include <fstream>
    #include <time.h>
    using namespace std;

    void main(void)
    {
    setlocale(LC_ALL,"Russian"); //Установим локаль в 1251-кодовую страницу
    ofstream fl1("file1.txt"); //Откроем файловый поток на запись
    ofstream fl2("file2.txt"); //Откроем файловый поток на запись
    ifstream fl1in; //Файловый поток на чтение
    ifstream fl2in; //Файловый поток на чтение

    int x, y; //Определение переменных x,y
    int Count; //Кол-во элементов (пар)
    cout<<"Введите кол-во пар которые нужно сгенерировать : ";
    cin>>Count; //Ввод Count
    srand(time(NULL)); //Инициализация генератора случ. величины
    for (int i = 0; i<Count; i++) //Генерируем значения
    {
    x = rand()%100 * (rand()%2?-1:1); // Полученные значение будет от 0..99 * 1 или *-1
    y = rand()%100 * (rand()%2?-1:1);
    fl1<< x << " " << y << endl; //Запишим их в первый файл
    }
    fl1.close(); //Закроем дискриптор потока на запись первого файла
    fl1in.open("file1.txt",ios::beg); //Откроем поток на чтение первого файла
    cout<< endl << "Файл file1.txt содержит : "<<endl;
    while (!fl1in.eof()) // Пока не достигнут конец файла
    {
    char t;
    fl1in>>x; //Получаем х
    fl1in>>y; //Получаем y
    //fl1in>>t;
    fl1in.ignore(2); //Пропустим возврат корректи
    cout<<x<<" "<<y<<endl; //Выводим их на экран
    if (x > y) //Сравниваем *условие задачи*
    {
    int temp; //Меняем местами
    temp = x;
    x = y;
    y = temp;
    }
    fl2<<x<<" "<<y<< endl; //пишим во второй файл
    }
    fl2.close(); //Закрываем дискриптор на запись 2ого файла
    fl1in.close(); //Закрываем дискриптор на чтение 1ого файла
    fl2in.open("file2.txt",ios::beg); //Открываем 2ой файл на чтение
    cout<< endl << "Файл file2.txt содержит : " << endl;
    while (!fl2in.eof()) //Пока не достигнут конец кторого файла
    {
    cout<< (char)fl2in.get(); //Выводим его на экран

    }
    fl2in.close(); //Закроем дискриптов

    }
     
  3. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    Код (C++):
            if (x > y) //Сравниваем *условие задачи*
    {
    int temp; //Меняем местами
    temp = x;
    x = y;
    y = temp;
    }
    fl2<<x<<" "<< y<< endl; //пишим во второй файл
    зачем так сложно?

    Код (C++):
           
    if (x > y) //Сравниваем *условие задачи*
    {
    fl2<<y<<" "<< x<< endl;
    }
    else
    {
    fl2<<x<<" "<< y<< endl;
    }
     
  4. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Пробелы между " << " не забывайте ставить. А то хрен поймешь что вы пишите...
     
  5. DarkKnight

    DarkKnight Well-Known Member
    C\C++ Team

    Регистрация:
    1 авг 2010
    Сообщения:
    653
    Симпатии:
    0
    Acorn : Дык что бы понятнее было ;-)
     
  6. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    по кнопке "ответить" - правильное цитирование кода. можно так смотреть.
     
Загрузка...
Похожие Темы - Задача Файловый ввод
  1. Янчик
    Ответов:
    0
    Просмотров:
    480
  2. TrishaRay
    Ответов:
    1
    Просмотров:
    781
  3. elzim
    Ответов:
    0
    Просмотров:
    929
  4. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.117
  5. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.105
Статус темы:
Закрыта.

Поделиться этой страницей