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

функции и работа с файлами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ можете поделить программу на части и показать где что выполняеться из пунктов меню http://www.cyberforum.ru/cpp-beginners/thread722162.html
#include <iostream> #include <stdlib.h> #include <time.h> using namespace std; class Massiv{ int *a; public: void Sozd(int k); void Vvod_Sl(int k,int k1,int k2); void Obrash(int k1, int k2);
C++ Перисикаются ли треугольники Здравствуйте :beach: Имеются по три вершины двух треугольников. Задача в том проверить пересекаются треугольники. Заранее спасибо! :) http://www.cyberforum.ru/cpp-beginners/thread722145.html
Чтение матрицы из файла для работы с графами C++
В общем проблема такая : для работы с графом нужна матрица, которую я считываю из файла. С самими графами проблем не возникает, если матрицу вводим через константу. Считывает каждый элемент в принципе тоже верно, но вот запись в обычный массив почему то хромает, и я не пойму почему. Сам файл из которого считываю во вложениях. Код: #include "stdafx.h" #include <iostream> #include <iomanip>...
попадают ли введенные координаты в штрихованную область(рисунок приложен). C++
Нужно проверить попадают ли введенные координаты в штрихованную область(рисунок приложен). Компилятор GNU GCC Compiller, среда Codeblocks 10.05. #include<iostream> using namespace std; int main(){ double x,y; cout<<"Enter the coordinates:"<<endl; cin>>x>>y; cout<<"("<<x<<":"<<y<<")"<<" : ";
C++ Методы анализа данных http://www.cyberforum.ru/cpp-beginners/thread722128.html
Исследование алгоритмов проверки гипотезы о равенстве математических ожиданий и гипотезы о выявлении аномальных измерений.
C++ Вывод на экран кол-во прохождений цикла while Задачка: Червяк ползёт по резинке 1 см/мин. Начальная длина резинки - 7 см. Через каждую минуту резинку растягивают на 7 см. Вопрос: доползёт ли червяк до конца резинки. Если да, то когда ? Накидал на быструю: #include <stdio.h> #include <cstdlib> int main (void) { int n; double p,q; n=7; q=1; подробнее

Показать сообщение отдельно
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
13.12.2012, 13:17     функции и работа с файлами
Цитата Сообщение от vantaqa Посмотреть сообщение
в первых двух байтах размешается значение типа int
На 32-ух битной Windows sizeof(int) равен 4.

Добавлено через 5 минут
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
#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
 
struct scan_info
{
    char model[25];
    int price;
    double x_size;
    double y_size;
    int optr;
    int grey;
};
 
void write_scaners(const std::vector<scan_info>& scaners, std::ofstream& file)
{
    short scaners_count = scaners.size();
    file.write((char*)&scaners_count, sizeof(short));
    for (std::vector<scan_info>::const_iterator it = scaners.begin();
        it != scaners.end();
        ++it)
        file.write((char*)&*it, sizeof(scan_info));
}
 
std::vector<scan_info> read_scaners(std::ifstream& file)
{
    short scaners_count;
    file.read((char*)&scaners_count, sizeof(short));
    std::vector<scan_info> ret_val; 
    ret_val.reserve(scaners_count);
    for (int i = 0; i < scaners_count; i++)
    {
        scan_info si;
        file.read((char*)&si, sizeof(scan_info));
        ret_val.push_back(si);
    }
    return ret_val;
}
 
int main()
{
    const char *filename = "scaners.bin";
    scan_info scaners[3] = 
    {
        { "samsung", 4000, 40, 60, 1, 1 },
        { "HP", 6000, 80, 60, 2, 2, },
        { "panasonic", 7000, 50, 40, 3, 3 }
    };
    std::vector<scan_info> scaners_vector(scaners, scaners + 3);
    std::ofstream out(filename);
    write_scaners(scaners_vector, out);
    out.close();
    std::ifstream in(filename);
    std::vector<scan_info> readed_scaners = read_scaners(in);
    in.close();
    std::vector<scan_info>::size_type len = readed_scaners.size();
    for (size_t i = 0; i < len; i++)
        std::cout << std::setw(26) << std::left << readed_scaners[i].model << readed_scaners[i].price << std::endl;
}
 
Текущее время: 03:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru