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

Ошибка в строке file.write - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при т = 1 получаем февраль, 4 - май и т.д.). http://www.cyberforum.ru/cpp-beginners/thread325114.html
Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при т = 1 получаем февраль, 4 - май и т.д.). Решить задачу в VC++.
C++ Сформировать матрицу размера M × N, у которой в каждом столбце содержатся все числа из исходного набора Есть задача Даны целые положительные числа M, N и набор из M чисел. Сформировать матрицу размера M × N, у которой в каждом столбце содержатся все числа из исходного набора (в том же порядке). предположим M=3 N=3 матрица но что значит набор из М чисел? исходя из логики матрица будет 3 3 3 3 3 3 3 3 3 та чтоли? http://www.cyberforum.ru/cpp-beginners/thread325098.html
Из массива A сформировать массив B C++
Пожалуйста кто может помогите! В субботу экзамен - нужен допуск... а я не знаю как справиться с этой задачей((( уже не знаю к кому обратиться(( Задача в с++ "Для заданного массива A из M чисел сформируйте массив В из M/2 чисел по формуле: B(i) = (A(i) + A(M + 1 - i))/2. Предусмотрите случай когда M нечетно. "
C++ Отправка файла
Как отправить файл по email используя WinAPI или Qt.
C++ Строка http://www.cyberforum.ru/cpp-beginners/thread325069.html
В строке между словами вставить символ /.
C++ Библиотеки #include <iostream.h> #include <vector.h> #include <string.h> #include <algorithm.h> #include <iterator.h> Можете скинуть сылку что б скачать ети библиотеки подробнее

Показать сообщение отдельно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
23.06.2011, 19:26     Ошибка в строке file.write
узнаю свой код, в оригинале он выглядел так
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <locale>
#include <iterator>
#include <conio.h>
#include <string>
#include <vector>
#include <algorithm>
#include <time.h>
 
using namespace std;
 
// объвление констант;
#define M 3
#define L 2
#define K 3
#define MAX_VALUE 100
 
// переопределение типов;
typedef vector<vector<double> > matrix_2;
typedef matrix_2::iterator m2Iter;
typedef vector<matrix_2> matrix_3;
typedef matrix_3::iterator m3Iter;
 
int main()
{
    // делаем рандом зависимым от времени;
    srand(static_cast<unsigned>(time(NULL)));
    // выставляем вывод русского текста в консоли;
    setlocale(LC_ALL, "Russian");
 
    // запрашиваем у пользователя имя создаваемого файла;
    cout << "Введите имя создаваемого файла" << endl;
    string fileName;
    cin >> fileName;
 
    // первая часть задания - создание бинарного файла с 3х-мерной матрицей;
    {
        // создание файла для записи в бинарном режиме;
        ofstream file(fileName.c_str(), ios::trunc | ios::binary);
        // если почемк-то не удалось создать файл, то оповещаем пользователя и выходим из приложения;
        if (file.fail())
        {
            cout << "Невозможно создать файл " << fileName << endl;
            _getch();
            return EXIT_FAILURE;
        }
 
        // создание трехмерной матрицы;
        matrix_3 v(M, matrix_2(L, vector<double>(K)));
 
        // сгенерируем созданную матрицу  и сразу выводим ее в файл;
        for (m3Iter i = v.begin(), end = v.end(); i != end; ++i)
        {
            for (m2Iter j = i->begin(), end = i->end(); j != end; ++j)
                for (vector<double>::iterator k = j->begin(), end = j->end(); k != end; ++k)
                    file << (*k = rand() % MAX_VALUE) << " ";
            file << endl;
        }
        // закрываем файл;
        file.close();
    }
    
    // оповещение пользователя о том, что требуемый файл создан;
    cout << "Файл " << fileName << "создан " << endl << endl;
 
    // вторая часть задания - создание литерного файла основе предыдущего;
    {
        // открываем первый файл на чтение;
        ifstream ifile(fileName.c_str(), ios::binary);
 
        // запрашиваем имя второго файла;
        cout << "Введите имя второго файла" << endl;
        cin >> fileName;
        ofstream ofile(fileName.c_str(), ios::trunc);
 
        // если не получилось создать файл, то оповещаем пользователя и выходим из приложения;
        if (ofile.fail())
        {
            cout << "Не удалось создать файл " << fileName << endl;
            _getch();
            return EXIT_FAILURE;
        }
 
        // создадим 3х-мерную матрицу для считывания данных;
        matrix_3 v(M, matrix_2(L, vector<double>(K)));
 
        // считаем исходные данные в созданную матрицу;
        for (m3Iter i = v.begin(), end = v.end(); i != end; ++i)
            for (m2Iter j = i->begin(), end = i->end(); j != end; ++j)
                for (vector<double>::iterator k = j->begin(), end = j->end(); k != end; ++k)
                    ifile >> *k;
        // закрываем файл;
        ifile.close();
 
        // заполним второй файл (каждая запись - столбец двумерной матрицы);
        for (m3Iter i = v.begin(), end = v.end(); i != end; ++i)
        {
            vector<double> tmp(L);
            for (size_t k = 0; k < K; ++k)
            {
                vector<double> tmp(L);
                for (size_t j = 0; j < L; ++j)
                    tmp[j] = i->operator[](j)[k];
                copy(tmp.begin(), tmp.end(), ostream_iterator<double>(ofile));
                ofile << " ";
            }
            ofile << endl;
        }
        // закрываем файл;
        ofile.close();
        // оповезщение пользователя о создании нового файла;
        cout << "Файл " << fileName << " создан" << endl;
    }
 
    _getch();
    return EXIT_SUCCESS;
}
 
Текущее время: 12:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru