Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 14.10.2016
Сообщений: 16
1

На основе исходного файла, содержащего целые числа, сформировать новый файл, удалив повторы

24.12.2016, 14:13. Показов 2623. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Удалить повторения. Дан файл, компоненты которого являются целыми числами. Получить новый файл, образованный из первого исключением повторных вхождений одного и того же числа. Новый файл должен иметь имя исходного файла, у первого файла необходимо изменить расширение.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2016, 14:13
Ответы с готовыми решениями:

Переписать в новый текстовый файл компоненты исходного файла, удалив слова, содержащие заданную букву
Составление и ввод в ПЭВМ программы с использованием текстовых файлов. Записать текст в файл F....

На основе заданного файла, содержащего натуральные числа, получить новый, где к каждому из данных чисел приписана цифра k
На основе заданного файла, содержащего натуральные числа, получить новый, где к каждому из данных...

Сформировать из исходного новый файл, содержащий только числа
Дан файл, строки которого могут содержать и числа и слова. Сформулировать из него другой файл,...

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

4
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
24.12.2016, 15:20 2
Meekoland, вот программа. Числа в файле где угодно. На выходе искомая последовательность. Я не делал имя выходного файла именем исходного. Просто вывел в output.txt. Если нужно что-то еще, пишите.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <vector>
#include <fstream>
 
using namespace std;
 
int main()
{
    ifstream fin("input.txt");
    ofstream fout("output.txt");
    int N, k, i, j;
    vector<int> B;
    int A[100];
    k = 0;
    while (fin >> N)
    {
        A[k] = N;
        k++;
    }
    for (i = 0; i < k; i++)
    {
        for (j = 0; j < B.size(); j++)
        {
            if (A[i] == B[j])
                break;
        }
        if (j == B.size())
            B.push_back(A[i]);
    }
    fout << "Array without repeats:" << endl;
    for (int i = 0; i < B.size(); i++)
    {
        fout << B[i] << " ";
    }
    fin.close();
    fout.close();
    system("pause");
    return 0;
}
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
24.12.2016, 15:28 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
#include <iterator>
using namespace std;
int main() {
    ifstream ff("tr.txt");
    ofstream fd("ot.txt");
    vector<int>v {istream_iterator<int>(ff),istream_iterator<int>()};
    sort(v.begin(),v.end());
    auto it=unique(v.begin(),v.end());
    v.erase(it,v.end());
    for(const auto &i:v){
        fd<<i<<" ";
    }
    ff.close();
    fd.close();
    return 0;
}
0
0 / 0 / 0
Регистрация: 14.10.2016
Сообщений: 16
24.12.2016, 15:42  [ТС] 4
А таким образом можно написать?
C++
1
2
3
    FILE *mf, *nf;
    mf=fopen("input.txt", "w");
    nf=fopen("output.txt", "w");
0
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
24.12.2016, 18:35 5
Лучший ответ Сообщение было отмечено Meekoland как решение

Решение

Meekoland, я никогда не работал с fopen(). Вот, что удалось сделать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
    FILE *fin, *fout;
    fin = fopen("input.txt", "r");
    fout = fopen("output.txt", "w");
    int N, k, i, j;
    vector<int> B;
    int A[100];
    N = k = 0;
    while (fscanf(fin, "%d,", &N) > 0)
    {
        A[k++] = N;
    }
    for (i = 0; i < k; i++)
    {
        for (j = 0; j < B.size(); j++)
        {
            if (A[i] == B[j])
                break;
        }
        if (j == B.size())
            B.push_back(A[i]);
    }
    for (int i = 0; i < B.size(); i++)
    {
        fprintf(fout, "%d ", B[i]);
    }
    fclose(fin);
    fclose(fout);
    system("pause");
    return 0;
}
1
24.12.2016, 18:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2016, 18:35
Помогаю со студенческими работами здесь

Из исходного файла сформировать новый файл с последовательностью чисел
с блок схемой желательно Сформировать файл последовательности чисел , в котором каждая к-я...

Файл: Создать новый файл, содержащий числа исходного файла в обратном порядке.
пожалуйста, помогите задача: дан файл целых чисел, создать новый файл содержащий те же файлы, но в...

Сформировать новый файл, дописав в каждую строку исходного файла количество, содержащихся в ней слов.
В каждой строке исходного файла имеется произвольное количество слов. Сформировать новый файл,...

Из исходного текстового файла все повторяющиеся слова переписать в другой файл удалив их из исходного
из исходного текстового файла все повторяющиеся слова переписать в другой файл удалив их из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru