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

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

Войти
Регистрация
Восстановить пароль
 
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
#1

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

21.03.2011, 16:39. Просмотров 840. Ответов 7
Метки нет (Все метки)

Работа с двоичными файлами.
Создать файл, состоящий из n вещественных чисел. Вывести на экран все числа данного файла с нечетными порядковыми номерами, большие заданного числа.

Добавлено через 7 часов 21 минуту
Сделайте пожалуйста, кому не сложно

Добавлено через 6 часов 25 минут
________

Добавлено через 3 часа 30 минут
____________
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
21.03.2011, 22:40     Двоичные файлы #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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <fstream>
#include <iomanip>
#include <time.h>
 
int main()
{
    using namespace std;
 
    int const min_num = -100;
    int const max_num = 100;
    int const fract = 100;
 
    int n;
    cout << "Intput count of real numbers: ";
    cin >> n;
 
    float* a = new float[n];
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        a[i] = (float)(rand() % (max_num - min_num)) - (float)(rand() % (fract + 1)) / fract + min_num + 1;
        cout << setw(8) << a[i];
    }
 
    fstream file("real.bin", ios_base::binary | ios_base::out | ios_base::trunc);
    file.write((char*)a, n * sizeof (float));
    file.close();
 
    float f;
    cout << "Intput real number for compare: ";
    cin >> f;
    file.open("real.bin", ios_base::binary | ios_base::in);
    if (file)
    {
        // так можно для четных позиций
//      file.seekg(sizeof (float));
//      cout << "        ";
        do
        {
            float t;
            if (file.read((char*)&t, sizeof (float)))
            {
                if (t > f) cout << setw(8) << t << "        ";
                else cout << "                ";
                file.seekg(sizeof (float), ios_base::cur);
            }
        }
        while (file.good());
    }
    file.close();
    cout << endl;
 
    system("PAUSE");
    return 0;
}
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
08.04.2011, 18:29  [ТС]     Двоичные файлы #3
Не могли бы вы сделать в более упрощенном варианте? т.е без использования time.h и iomanip.
чтобы ничего лишнего. Прошу вас. Спасибо вам большое, заранее!
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
10.04.2011, 08:52     Двоичные файлы #4
Если этого преподаватель требует, то так долго можно исправлять программу. Пока преподаватель не сделает вывод, что вы понимаете написанный код. Так что разбирайтесь сами. Тем более, что там нет ничего сложного.
kravam
быдлокодер
1696 / 875 / 44
Регистрация: 04.06.2008
Сообщений: 5,345
10.04.2011, 12:41     Двоичные файлы #5
Для порядка добавить бы в самый конец:
C++
1
    delete [] a;
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
17.04.2011, 11:12  [ТС]     Двоичные файлы #6
Ну не получается у меня этот бинарник сделать
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
19.04.2011, 16:18  [ТС]     Двоичные файлы #7
C++
1
2
a[i] = (float)(rand() % (max_num - min_num)) - (float)(rand() % (fract + 1)) / fract + min_num + 1;
        cout << setw(8) << a[i];
Не могли бы вы объяснить поподробнее вот этот момент? остальное я всё понял
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2011, 16:46     Двоичные файлы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
19.04.2011, 16:46     Двоичные файлы #8
Генерируем псевдослучайное число в диапазоне от -99.99 до 99.99
Выводим его в поле длиной 8 символов (чтоб ровно 10 чисел в строке помещалось)
Yandex
Объявления
19.04.2011, 16:46     Двоичные файлы
Ответ Создать тему
Опции темы

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