Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Scorched
0 / 0 / 1
Регистрация: 15.05.2016
Сообщений: 5
1

Работа с бинарными файлами

14.06.2016, 18:26. Просмотров 214. Ответов 0
Метки нет (Все метки)

Дан бинарный файл вещественных чисел, содержащий координаты
точек на плоскости. Создать новый бинарный файл, содержащий
координаты вершин прямоугольников, охватывающих
подмножества точек из исходного файла, лежащих в различных
координатных углах. При отсутствии точек в каком-либо
квадранте, охватывающий прямоугольник записывать не следует.
Точки, лежащие на координатных осях нужно игнорировать



#include <fstream>
#include <iostream>
#include <string>
#include <cstdlib>

using namespace std;

int main() {
char simbol;
const int r = 256;
string filename = "fin.doc";
int i = 0, *Mass_Int = new int[r], buff_maxX, buff_maxY, buff_minX, buff_minY;
//Открытие файла для чтения
for (i = 0; i < r; i++) Mass_Int[i] = 0;
ifstream file(filename, ios_base::in,ios_base::binary);
if (!file.is_open())
{
cout << "Ошибка открытия файла " << filename << endl;
cin.get();
return 0;
}
while (file.eof()) {
file.ignore(1);
file.get(simbol);
while (simbol != ',') {
Mass_Int[i] *= 10;
Mass_Int[i] += simbol - 48;
file.get(simbol);
}
//Считываем строки в массив
i++;
file.get(simbol);
while (simbol != ')') {
Mass_Int[i] *= 10;
Mass_Int[i] += simbol - 48;
file.get(simbol);
}
i++;
}

buff_maxX = Mass_Int[0];
buff_maxY = Mass_Int[1];
buff_minX = Mass_Int[0];
buff_minY = Mass_Int[1];

for (int j = 0; j <= i; j += 2) {
if (Mass_Int[j] > buff_maxX) buff_maxX = Mass_Int[j];
if (Mass_Int[j] < buff_minX) buff_minX = Mass_Int[j];
if (Mass_Int[j + 1] > buff_maxY) buff_maxY = Mass_Int[j + 1];
if (Mass_Int[j + 1] < buff_minY) buff_minY = Mass_Int[j + 1];
}
ofstream fout("fout.doc", ios_base::out, ios_base::binary);
fout << "(" << buff_maxX << "," << buff_maxY << ")" << endl << "(" << buff_minX << "," << buff_maxY << ")" << endl << "(" << buff_maxX << "," << buff_minY << ")" << endl << "(" << buff_minX << "," << buff_minY << ")" << endl;
return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2016, 18:26
Ответы с готовыми решениями:

Работа с бинарными файлами
Доброго времени суток! Нашел программу на форуме, она запускается, но файлы бинарные и не...

Работа с бинарными файлами
Помогите решить проблему. Задача: создать файл записать в него 10 структур и закрыть, затем...

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

Работа с бинарными файлами
Задача такова : нужно записать созданные объекты класса в бинарный фал а затем прочитать их же из...

Работа с Бинарными файлами
Помогите сделать сохранение не могу разобраться :( Почему в этом коде #include &lt;iostream&gt;...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2016, 18:26

Работа с бинарными файлами
Написать программу для обработки информации о планшетах. Информация включает следующие данные: -...

Работа с бинарными файлами
Создать бинарный файл с информацией о работниках предприятия: 1) фамилия 2) возраст 3)...

Работа с бинарными файлами
Хелпаните плз. Вот само задание. Матрицу А действительных чисел размерности M*N (M&lt;N) и вектор...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.