Форум программистов, компьютерный форум CyberForum.ru

Из файла 1 переписать все в файл 2 с сортировкой - C++

Восстановить пароль Регистрация
 
SashaKendy
Сообщений: n/a
09.04.2013, 09:07     Из файла 1 переписать все в файл 2 с сортировкой #1
Добрый день. Нужно помощь в допиливании программы.
Итак. 1) Имеется заполненный массив с сотрудниками, записанный в файл "File1.dat"
2) Нужно этот массив который в файле 1 переписать в файл 2 с сортировкой по алфавиту.
Сказали, что нужно заново открыть файл, вынуть от туда массив, отсортировать его и заново записать в файл 2.
Вот часть первой программы.. как сделать остальное ....
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 "stdafx.h"
#include <conio.h>
#include <stdlib.h>
#include "iostream"
#include <stdio.h>
using namespace std;
typedef struct sotrudnik
{char fio[13],p;
int PN,GR;
}SOTR;
const int n=10;
int i,k,j;
 
int main()
{
FILE *file;
if ((file=fopen("File1.dat","w+"))==0){
    printf ("Невозможно открыть файл\n");
    exit(1);
};
SOTR z[n]={{"Анисимов А.Н",'м',57495,1957},
{"Иванов И.Н",'м',13339,1999},
{"Махова О.И",'ж',42524,1980},
{"Огарев K.M",'м',44556,1990},
{"Егорова П.К",'ж',24646,2011},
{"Голикова О.И",'ж',12363,1990},
{"Сотников Т.С",'м',19543,1960},
{"Комов В.И ",'м',19239,2005},
{"Лебедев А.А ",'м',18559,1951},
{"Димова В.В ",'ж',19121,2010}};
 
    for(i=0; i<n; i++)
        fwrite(&z[i], sizeof(z[i]), 1, file);
            fclose(file);
                printf("Все\n");
                return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 09:07     Из файла 1 переписать все в файл 2 с сортировкой
Посмотрите здесь:

C++ Что не так? Дан текстовый файл F. Переписать в другой файл G все строки, содержащие цифры.
Текстовые файлы. Переписать в файл g все знаки препинания файла f. C++
Переписать в другой файл все положительные элементы первого файла, стоящие на четных местах C++
C++ Дан текстовый файл F. Переписать в другой файл G все символы, отличные от букв и пробела
Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания C++
Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот C++
Переписать в файл О все элементы файла К с заменой в них символа "0" на символ "1" и наоборот C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
09.04.2013, 12:49     Из файла 1 переписать все в файл 2 с сортировкой #2
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
#include <set>
#include <iostream>
#include <fstream>
#include <string>
#include <clocale>
 
struct sotrudnik
{
    char fio[13], p;
    int PN, GR;
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    std::fstream ifs("File1.dat", std::ios::in | std::ios::binary), ofs("File2.dat", std::ios::out | std::ios::binary);
    if(ifs.is_open() && ofs.is_open())
    {
        std::set<std::string> set;
        std::string tmp(sizeof(sotrudnik), ' ');
        while(!ifs.read(&tmp[0], sizeof(sotrudnik)).eof())
        {
            set.insert(tmp);
        }
        std::cout << set.size() << std::endl;
        for(std::set<std::string>::const_iterator cib(set.cbegin()); cib != set.cend(); ++cib)
        {
            ofs << *cib;
        }
        if(ifs.gcount())
            std::cerr << "read failed\n";
    }
    else
        std::cerr << "Unable to open file\n";
    ifs.close();
    ofs.close();
    return 0;
}
SashaKendy
Сообщений: n/a
09.04.2013, 16:30     Из файла 1 переписать все в файл 2 с сортировкой #3
Спасибо за помощь
Yandex
Объявления
09.04.2013, 16:30     Из файла 1 переписать все в файл 2 с сортировкой
Ответ Создать тему
Опции темы

Текущее время: 17:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru