Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 23

Округлить действительные числа записанные в файл

02.12.2017, 16:50. Показов 876. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из данного файла (бинарного), который содержит действительные числа, сформировать новый файл(бинарный), содержащий целые числа, которые получены из действительных чисел входного файла путем округления к меньшему.

Добавлено через 13 минут
Смотрел разные темы, но не совсем понимаю суть задания и как его реализовать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.12.2017, 16:50
Ответы с готовыми решениями:

Отсортировать числа записанные в файл
В текстовом файле input.txt дана последовательность целых чисел заканчивающаяся числом 0 (0 – признак окончания ввода, не входит в...

Файл содержит действительные числа. Найти среднее геометрическое всех положительных чисел
Файл содержит действительные числа. Найти среднее геометрическое всех положительных чисел . Помогите правильно написать именно сам...

Создать файл g, содержащий элементы файла f (действительные числа) без повторных вхождений
Дан файл f , состоящий из действительных элементов . Создать файл g , содержащий элементы файла f без повторных вхождений помогите...

11
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
02.12.2017, 17:27
floor().
0
 Аватар для anapshy
533 / 274 / 220
Регистрация: 14.11.2016
Сообщений: 1,054
02.12.2017, 18:07
Пример.
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
#include <iostream>
#include <fstream>
#include <list>
 
const char* FILE_NAME_INPUT = "input.bin";
const char* FILE_NAME_OUTPUT = "output.bin";
 
typedef int integer_t;
typedef double float_t;
 
int main()
{
    {/// Создадим бинарный файл с числами
        float_t a = 222.33;
        float_t b = 1245.125;
        float_t c = 1515.21511;
        std::ofstream dataentry(FILE_NAME_INPUT, std::ios_base::out | std::ios_base::trunc | std::ios_base::binary);
        dataentry.write(reinterpret_cast<const char*>(&a), sizeof(float_t));
        dataentry.write(reinterpret_cast<const char*>(&b), sizeof(float_t));
        dataentry.write(reinterpret_cast<const char*>(&c), sizeof(float_t));
    }
 
    std::list<integer_t> data;
    {/// Считаем все числа и занесем в список
        std::ifstream infile(FILE_NAME_INPUT, std::ios_base::in | std::ios_base::binary);
        infile.seekg(0, std::ios_base::end);
        std::streampos posEnd = infile.tellg();
        infile.seekg(0, std::ios_base::beg);
        while(infile.tellg() < posEnd)
        {
            float_t value = 0;
            infile.read(reinterpret_cast<char*>(&value), sizeof(float_t));
            data.push_back(value);
        }
    }
    
    {/// Занесем все числа из списка в новый бинарный файл
        std::ofstream outfile(FILE_NAME_OUTPUT, std::ios_base::out | std::ios_base::trunc | std::ios_base::binary);
        for (const integer_t &it : data)
        {
            outfile.write(reinterpret_cast<const char*>(&it), sizeof(integer_t));
        }
    }
    
    {/// Чекним результат
        std::cout << "Result: ";
        std::ifstream testFile(FILE_NAME_OUTPUT, std::ios_base::in | std::ios_base::binary);
        testFile.seekg(0, std::ios_base::end);
        std::streampos posEnd = testFile.tellg();
        testFile.seekg(0, std::ios_base::beg);
        while(testFile.tellg() < posEnd)
        {
            integer_t value = 0;
            testFile.read(reinterpret_cast<char*>(&value), sizeof(integer_t));
            std::cout << value << ' ';
        }
        std::cin.get();
    }
}
1
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 23
06.12.2017, 17:11  [ТС]
Выбивает ошибку.
39 [Error] range-based 'for' loops are not allowed in C++98 mode
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
06.12.2017, 17:23
Современный компилятор возьми.
0
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 23
06.12.2017, 18:18  [ТС]
И так стоит современный
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
06.12.2017, 18:25
И требует использовать стандарт 98-го года?
Если типа gcc, то там ключ указывай для C++11.
0
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 23
09.12.2017, 15:34  [ТС]
Все компиляторы вызывают ту же ошибку. Что делать?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.12.2017, 15:39
Какие все? У тебя какой?
0
 Аватар для anapshy
533 / 274 / 220
Регистрация: 14.11.2016
Сообщений: 1,054
11.12.2017, 19:44
Vova9221, IDE какая?
0
0 / 0 / 0
Регистрация: 02.12.2017
Сообщений: 23
12.12.2017, 20:02  [ТС]
anapshy, DEV C++
0
 Аватар для anapshy
533 / 274 / 220
Регистрация: 14.11.2016
Сообщений: 1,054
13.12.2017, 16:07
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
#include <iostream>
#include <fstream>
#include <list>
 
const char* FILE_NAME_INPUT = "input.bin";
const char* FILE_NAME_OUTPUT = "output.bin";
 
typedef int integer_t;
typedef double float_t;
 
int main()
{
    {/// Создадим бинарный файл с числами
        float_t a = 222.33;
        float_t b = 1245.125;
        float_t c = 1515.21511;
        std::ofstream dataentry(FILE_NAME_INPUT, std::ios_base::out | std::ios_base::trunc | std::ios_base::binary);
        dataentry.write(reinterpret_cast<const char*>(&a), sizeof(float_t));
        dataentry.write(reinterpret_cast<const char*>(&b), sizeof(float_t));
        dataentry.write(reinterpret_cast<const char*>(&c), sizeof(float_t));
    }
 
    std::list<integer_t> data;
    {/// Считаем все числа и занесем в список
        std::ifstream infile(FILE_NAME_INPUT, std::ios_base::in | std::ios_base::binary);
        infile.seekg(0, std::ios_base::end);
        std::streampos posEnd = infile.tellg();
        infile.seekg(0, std::ios_base::beg);
        while(infile.tellg() < posEnd)
        {
            float_t value = 0;
            infile.read(reinterpret_cast<char*>(&value), sizeof(float_t));
            data.push_back(value);
        }
    }
    
    {/// Занесем все числа из списка в новый бинарный файл
        std::ofstream outfile(FILE_NAME_OUTPUT, std::ios_base::out | std::ios_base::trunc | std::ios_base::binary);
        for (std::list<integer_t>::const_iterator it = data.cbegin(); it != data.cend(); ++it)
        {
            outfile.write(reinterpret_cast<const char*>(&(*it)), sizeof(integer_t));
        }
    }
    
    {/// Чекним результат
        std::cout << "Result: ";
        std::ifstream testFile(FILE_NAME_OUTPUT, std::ios_base::in | std::ios_base::binary);
        testFile.seekg(0, std::ios_base::end);
        std::streampos posEnd = testFile.tellg();
        testFile.seekg(0, std::ios_base::beg);
        while(testFile.tellg() < posEnd)
        {
            integer_t value = 0;
            testFile.read(reinterpret_cast<char*>(&value), sizeof(integer_t));
            std::cout << value << ' ';
        }
        std::cin.get();
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2017, 16:07
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru