• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Файлы

  • Автор темы dimon131
  • Дата начала
D

dimon131

Дан текстовый файл 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"); //открытие файла для чтения
 
R

Rififi

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]

всё ещё нужно на Си? мдэ... непруха... :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!