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

Данные странно отображаются в файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Характеризовать алгебраическое понятие полином http://www.cyberforum.ru/cpp-beginners/thread1141486.html
Характеризовать алгебраическое понятие полином, структурно выпускать. Функцию создавать следующий и тестировать: а) делить полиномы; б) дифференциовка; в) интегрирование.
C++ Перевести строку 16 ричных символов в base64 Требуется перевести строку 16 ричных символов в base64. Алгоритм понятен. Но есть один вопрос! Может ли в исходной строке быть нечетное количество символов? Например, может ли быть такая входная строка: 78FAF или в этом случае нужно выводить сообщение об ошибке? http://www.cyberforum.ru/cpp-beginners/thread1141467.html
Ошибка в линейном списке C++
ошибка
Как рисовать фигурки и реализовать движок игры Тетрис C++
Добрый день ! Задали написать тетрис. Я могу сделать менюшку, могу нарисовать поле игры. Но как рисовать фигурки и реализовать движок игры - я пока не понимаю. Смотрел различные исходники на форумах - везде используются Win Api, C++ Builder, различные классы. Всего этого мы ещё не изучали. Чтобы вы понимали, что я уже прошёл и что умею, вот пример моей рабочей игрушки - Клавиатурный...
C++ Создать динамический класс Матрица и найти А+В, А-В, А*В http://www.cyberforum.ru/cpp-beginners/thread1141435.html
Всем добрый день! Мне нужно создать динамический класс Матрица и найти А+В, А-В, А*В. У меня возникла проблема: пишет Build Error. НЕ могу понять, в чём ошибка. Помогите найти ошибки и их исправить. Заранее благодарна #include <stdio.h> #include <conio.h> #include <iostream.h> class matrix {int sizem, sizen; float**v; public: matrix(int a,int b)
C++ Записать в виде инструкции присваивания формулу Записать в виде инструкции присваивания формулу вычисления значения функции у=2x^2+0,22x-0,5 подробнее

Показать сообщение отдельно
dext
0 / 0 / 0
Регистрация: 07.04.2014
Сообщений: 3

Данные странно отображаются в файле - C++

07.04.2014, 17:09. Просмотров 156. Ответов 2
Метки (Все метки)

Почему данные странно отображаются в файле. Я думаю, что из-за кодировки, но как это исправить. Подскажите
Название: data.jpg
Просмотров: 18

Размер: 12.4 Кб

Сам код.
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <iomanip>
 
#pragma warning(disable: 4996)
 
using namespace std;
 
FILE *iFL, *rFL;
int n, j, i;
 
void create();
void resh();
 
int main()
{
    while (true)
    {
        int z;
        cout << "Viberite" << endl;
        cout << "1. Sozdanie faila i sohr matrici" << endl;
        cout << "2. Reshenie i vivod" << endl;
        cout << "3. Exit" << endl;
        cin >> z;
        switch (z)
        {
        case 1: create(); break;
        case 2: resh(); break;
        default: return 0;
        }
    }
}
 
void create()
{
    iFL = fopen("first.txt", "wb");
    cout << "Vvedite n - ";
    cin >> n;
 
    double **a;
    int i;
    a = new double*[n];
    for (i = 0; i < n; i++)
        a[i] = new double[n];
    double *b;
    b = new double[n];
 
    cout << "Vvedite koefficienti i svobodnie chleni" << endl;
    int j;
    double k;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            cin >> a[i][j];
            fwrite(&a[i][j], sizeof(double), 1, iFL);
        }
        cin >> b[i];
        fwrite(&b[i], sizeof(double), 1, iFL);
    }
    fclose(iFL);
 
    for (i = 0; i < n; i++)
        delete[] a[i];
    delete[] a;
    delete[] b;
}
 
void resh()
{
    iFL = fopen("first.txt", "rb");
    double **a;
    int i;
    a = new double*[n];
    for (i = 0; i < n; i++)
        a[i] = new double[n];
    double *b;
    b = new double[n];
    double *x;
    x = new double[n];
 
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            fread(&a[i][j], sizeof(double), 1, iFL);
        }
        fread(&b[i], sizeof(double), 1, iFL);
    }
 
    int f;
    double k;
    for (i = 0; i < n; i++)
    for (f = i + 1; f < n; f++)
    {
        k = a[f][i] / a[i][i];
        b[f] = b[f] - k*b[i];
        for (j = 0; j < n; j++)
            a[f][j] = a[f][j] - k*a[i][j];
    }
 
    int zz = 0;
    for (i = 0; i<n; i++)   if (a[i][i] == 0) zz += 1;
    if (zz == 0)
    {
        for (i = 0; i<n; i++)
        {
            x[i] = 0;
        }
 
        rFL = fopen("final.txt", "wb");
        for (i = n - 1; i >= 0; i--)
        for (j = n - 1; j >= i; j--)
        {
            b[i] = b[i] - a[i][j] * x[j];
            if (i == j)
            {
                x[j] = b[i] / a[j][j];
                fwrite(&x[j], sizeof(double), 1, rFL);
            }
        }
        fclose(rFL);
 
        cout << endl;
 
        for (i = 0; i<n; i++) cout << " " << x[i] << endl << endl;
 
        iFL = fopen("first.txt", "rb");
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < n; j++)
            {
                fread(&a[i][j], sizeof(double), 1, iFL);
            }
            fread(&b[i], sizeof(double), 1, iFL);
        }
        fclose(iFL);
 
        cout << "Vektor nevyazki" << endl;
        double *nev;
        nev = new double[n];
        for (i = 0; i < n; i++) nev[i] = 0;
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < n; j++)
            {
                nev[i] += a[i][j] * x[j];
            }
            nev[i] = b[i] - nev[i];
            cout << nev[i] << endl;
        }
 
        for (i = 0; i < n; i++)
            delete[] a[i];
        delete[] a;
        delete[] b;
        delete[]nev;
        delete[]x;
 
    }
    else
    {
        cout << "net resheniy" << endl;
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru