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

бинарные файлы) - C++

Восстановить пароль Регистрация
 
aimbat
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 81
15.12.2013, 16:30     бинарные файлы) #1
никак не могу добить(
Через Hex Editor проверяю, в первом файле - то что нужно, а второй вообще ничего нет.
Прошу помочь)
Всем добра
Задание:
Элементы бинарного файла Ф1 являются целыми числами, при чем 10 из них отрицательные, другие - больше нуля. Числа в хаотичном порядке. Создать файл Ф2, в котором записаны сначала 5 чисел больше нуля, потом меньше..
мне упростили задание: ввод с клавы любых 20 чисел, и во второй файл по пять положительных и отрицательных.
Если можно, то на основе моего кода.
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
40
41
42
43
44
45
#include <iostream>
#include <ctime>
#include <conio.h>
#include <cstdlib>
#include <stdio.h>
#include <fstream>
using namespace std;
int main()
{
    FILE *f;
    FILE *f1;
    int c=0;//счётчик положительных чисел
    int d=0;//счётчик отрицательных чисел
    int size=20;
    int a[20];
    f=fopen("D:\\test.dat", "wb");//открываем бинарный файл для ввода
    for(int i = 0; i<size; ++i)
    {
            printf("%s%d%s\n","Enter element [",i,"]:");
            scanf("%d",&a[i]);//вводим  числа нашего будущего файла
            fwrite(&a, sizeof(int),1,f);//записываем в наш файл
    }
    cout << endl;
    f1=fopen("D:\\test1.dat", "wb");//открываем  второй бнар.файл
    while (fread(&a,sizeof(int), 1, f))//считуем числа с первого бинара
        {
    for(int i=0;i<size;i++)//пробежались по элементам
    {
        if(a[i]>0 && c<5)//если число больше нуля - с++, пока количество таких чисел не будет равно 5
        {
            c++;
            fwrite(&a, sizeof(int), 1, f1);//записываем во второй файл
        }
        if(a[i]<0 && d<5)//если число меньше нуля + d++, пока количество таких чисел не будет равно 5
        {
            d++;
            fwrite(&a, sizeof(int), 1, f1);//записывем во втрой  файл
        }
    fclose(f);
    fclose(f1);
    getch();
    return 0;
    }
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 16:30     бинарные файлы)
Посмотрите здесь:

Бинарные файлы.. C++
C++ С++ бинарные файлы
Бинарные файлы C++
Бинарные файлы c++ C++
Бинарные файлы C++
C++ Бинарные файлы в С++
C++ Бинарные файлы
C++ Бинарные файлы

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

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

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