Файлы

Тема в разделе "C/C++/C#", создана пользователем dimon131, 14 фев 2011.

  1. dimon131

    dimon131 Member

    Репутация:
    0
    Регистрация:
    8 дек 2010
    Сообщения:
    13
    Симпатии:
    0
    Дан текстовый файл f целых чисел. Получить из файла f файл g, убрав при этом повторные вхождения чисел.

    Си

    Код:


    Код (C++):
    #include<conio.h>
    #include<stdio.h>
    #include<string.h>
    int main(void)
    {
    char s[128]; //Объявление строки
    FILE*f;
    f=fopen(f,"wt"); //создание файла
    puts ("Введите данные в файл. Конец ввода #\n");
    gets (s);
    while(strcmp(s,"#")>0)
    {
    fputs(f,s); //запись строки в фаил
    gets(s);
    fputs(f," ");
    }
    fclose(f); //закрытие файла
    FILE*g;
    g=fopen(g,"wt"); //создание нового файла
    fclose(g);  //закрытие файла

    f=fopen(f,"rt"); //открытие файла для чтения
     
  2. Rififi

    Rififi Гость

    Репутация:
    0
    dimon131

    на Си влом, слишком много гемора, вот на C++

    Код (C++):
    #include <iostream>
    #include <fstream>
    #include <iterator>
    #include <algorithm>
    #include <vector>

    int main()
    {
    std::ifstream ifs("in.txt");

    typedef std::vector<int> V;
    V v;

    typedef std::istream_iterator<int> I;
    std::copy(I(ifs), I(), std::back_inserter(v));

    std::sort(v.begin(), v.end());
    v.erase(std::unique(v.begin(), v.end()), v.end());

    std::ofstream ofs("out.txt");

    typedef std::ostream_iterator<int> O;
    std::copy(v.begin(), v.end(), O(ofs, " "));

    return 0;
    }
    содержимое файла in.txt:

    <!--shcode--><pre><code class='txt'>1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8[/CODE]

    содержимое файла out.txt:

    <!--shcode--><pre><code class='txt'>1 2 3 4 5 6 7 8[/CODE]

    всё ещё нужно на Си? мдэ... непруха... :)
     
Загрузка...

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