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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
un1acker
0 / 0 / 0
Регистрация: 07.03.2012
Сообщений: 22
#1

Двоичные файлы - C++

23.05.2012, 08:20. Просмотров 231. Ответов 0
Метки нет (Все метки)

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

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "stdafx.h" 
#include <iostream>
#include <clocale>
#include <stdio.h>
#include <io.h> 
#include <time.h>
using namespace std;
 
/*В конец данного файла типа integer поместить его элементы, 
меньшие среднего арифметического значения элементов этого файла.*/
int main( )
{    
    srand(unsigned(time(0)));
    setlocale(LC_CTYPE,"rus");
    FILE *f=fopen("laba.dat","w+b");
    if(!f)
    {
        cout<<"Невозможно открыть файл";
        system("pause");
        exit(1);
    }
    
    for(int i=0;i<10;i++)
    {
        int temp=rand()%100+5;
        fwrite(&temp,sizeof(int),1,f);
    }
 
    fclose(f);
    
    f=fopen("laba.dat","r+b");
    if(!f)
    {
        cout<<"Невозможно открыть файл";
        system("pause");
        exit(1);
    }
    double sum=0.0;
    int len=fileno(f);
    len=filelength(len)/sizeof(f);
    int *out=new int[len];
    fread(out,sizeof(int),len,f);
    cout << "Содержимое файла: ";
    for (int i = 0; i < len; i++)cout << out[i] << " ";
    
    for(int i=0;i<len;i++)
    {
        sum+=out[i];
    }
    sum=sum/len;
    fseek(f, 0, 0);
    
    for(int i=0;i<len;i++)
    {
        if(out[i]<sum)
            {
                fprintf(f,"%i",out[i]);
    }
    }
 
fseek(f,0,SEEK_SET);
 
    cout << "\nСодержимое измененного файла: ";
    while(!feof(f))
    {
        int temp;
        fread(&temp,sizeof(int),1,f);
        cout << temp << " ";
    }
 
 
 
   
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2012, 08:20     Двоичные файлы
Посмотрите здесь:

Структуры данных и двоичные файлы C++
C++ Задача на двоичные файлы!
двоичные файлы,чтение\запись C++
двоичные файлы C++
Двоичные файлы C++
двоичные файлы C++
C++ не могли бы вы проверить задачу про двоичные файлы?
C++ прокомментируйте пожалуйста программу на языке С++ на двоичные файлы если можно подробно
Двоичные файлы C++
C++ Двоичные файлы
C++ Ошибка после завершения программы. Двоичные файлы. Структуры
C++ Двоичные файлы. Найти сумму первого, среднего и последнего элементов

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

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

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