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

Запись и считывание в/из ФАЙЛА - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Максимальное количество элементов в массиве http://www.cyberforum.ru/cpp-beginners/thread1190603.html
#include "stdafx.h" #include "iostream" #include "cmath" using namespace std; int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL,"rus"); int a; int n; int d;
C++ Не выводит a^20 #include "stdafx.h" #include "iostream" using namespace std; int _tmain(int argc, _TCHAR* argv) { int a, a2, a4, a8, a16; long a20; cout << "vvedite a: "; http://www.cyberforum.ru/cpp-beginners/thread1190597.html
Вычислительная геометрия, путь по сфере C++
Нужна помощь с задачкой:( Яблоко имеет форму идеального шара радиуса R1. В центре яблока находится сердцевина также имеющая форму шара радиуса R2. На поверхности яблока в точке А находится червяк. Найти минимальное время за которое червяк попадет из точки А в точку В, если скорость его движения по поверхности яблока V1, через само яблоко V2 и через сердцевину V3. Данные считываются из файла....
Создать класс для работы с двумерным массивом вещественных чисел. В двоичной матрице найти совпадающие строки C++
прошу помочь с решением задачи Создать класс для работы с двумерным массивом вещественных чисел. Разработать следующие элементы класса: a. Поля:  double DoubelArray;  int n, m. b. Конструктор, позволяющий создать массив размерности n×m. c. Методы, позволяющие:  ввести элементы массива с клавиатуры;  вывести элементы массива на экран;  отсортировать элементы каждой строки массива в...
C++ Разделить программу на подпрограммы http://www.cyberforum.ru/cpp-beginners/thread1190575.html
Помогите разделить программу на подпрограммы #include "stdafx.h" #include <conio.h> #include <math.h> #include <stdio.h> int main(void) {int nn=3; printf("Dimension of the matrix (<=10):"); scanf("%d", &nn);
C++ Небольшой недочет в коде, передача данных из одного метода в другой Здравствуйте, требуется небольшая помощь. Есть рабочий код, в нем есть метод GetPriority - пользователь вводит в массив некоторые числа. Окей. Дальше есть методы показа статистики Stats и сохранения в файл SaveToFile, и вот на этих методах и загвоздка - вместо значений, которые ввел пользователь, выводится мусор из памяти. Что недосмотрел, подскажет кто? классы - #include <string> #include... подробнее

Показать сообщение отдельно
andreyananas
 Аватар для andreyananas
17 / 17 / 5
Регистрация: 15.10.2013
Сообщений: 806
27.05.2014, 23: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
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
#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <conio.h>
#include <math.h>
 
using namespace std;
 
void Show(int, double*);
void PryamojHod(int, double**, double*);
void ObratnyHod(int, double**, double*, double*);
 
int main()
{
    SetConsoleOutputCP(1251);
    int n;
    cout << "\n Введите количество переменных: ";
    while(!(cin >> n) || (cin.peek() != '\n') || (n <=0))
    {
        cin.clear();
        while(cin.get() != '\n');
        cout << "\n\a Ошибка! \n для новой попытки, нажмите любую кнопку...";
        getch();
        system("cls");
        cout << "\n Введите количество переменных: ";
    }
 
    // выдиляем память под матрицу А и векторы В и Х
    double **a = new double *[n];
    for (int i = 0; i < n; i++)
        a[i] = new double [n];
    double *b = new double [n];
    double *x = new double [n];
 
    // ввод данных
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            cout << " Введите " << (j+1) << "й коэффициент " << (i+1) << "го уравнения: ";
            while(!(cin >> a[i][j]) || (cin.peek() != '\n'))
            {
                cin.clear();
                while(cin.get() != '\n');
                cout << "\n Ошибка ввода!\n для новой попытки, нажмите любую кнопку...";
                getch();
                system("cls");
                cout << " Введите " << (j+1) << "й коэффициент " << (i+1) << "го уравнения: ";
            }
        }
        cout << " Введите " << (i+1) << "й свободный член " << (i+1) << "го уравнения: ";
        while(!(cin >> b[i]) || (cin.peek() != '\n'))
        {
            cin.clear();
            while(cin.get() != '\n');
            cout << "\n Ошибка ввода!\n для новой попытки, нажмите любую кнопку...";
            getch();
            system("cls");
            cout << " Введите " << (i+1) << "й свободный член " << (i+1) << "го уравнения: ";
        }
    }
 
    // вывод СЛАУ
    cout << "\n Матрица А: " << endl;
    for(int i = 0; i < n; i++)
        Show(n, a[i]);
    cout << "\n Вектор B: " << endl;
    Show(n, b);
 
 
    PryamojHod(n, a, b);
    ObratnyHod(n, a, b, x);
 
    cout << "\n Результат: " << endl;
    Show(n, x);
 
    // освобождаем память
    for (int i = 0; i < n; i++)
        delete [] a[i];
    delete [] a;
    delete [] b;
    delete [] x;
 
    return 0;
}
 
void Show(int n, double *vec)
{
    for(int i = 0; i < n; i++)
    {
        cout << "\t" << vec[i];
    }
    cout << endl;
}
 
void PryamojHod(int n, double **a, double *b)
{
    double v = 0;
    for(int k(0), im; k < n; k++)
    {
        im = k;
        for(int i = k+1; i < n; i++)
        {
            if(fabs(a[im][k]) < fabs(a[i][k]))
                im = i;
        }
        if(im != k)
        {
            for(int j(0); j < n; j++)
            {
                v = a[im][j];
                a[im][j] = a[k][j];
                a[k][j] = v;
            }
            v = b[im];
            b[im] = b[k];
            b[k] = v;
        }
        for(int i = k + 1; i < n; i++)
        {
            v = 1.0*a[i][k]/a[k][k];
            a[i][k] = 0;
            b[i] = b[i]-v*b[k];
            if(v != 0)
            {
                for(int j = k + 1; j < n; j++)
                    a[i][j] = a[i][j]-v*a[k][j];
            }
        }
    }
}
 
void ObratnyHod(int n, double **a, double *b, double *x)
{
    double s = 0;
    x[n-1]=1.0*b[n-1]/a[n-1][n-1];
    for(int i = n - 2; i >= 0; i--)
    {
        s = 0;
        for(int j = i + 1; j < n; j++)
        {
            s=s+a[i][j]*x[j];
        }
        x[i]=1.0*(b[i]-s)/a[i][i];
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru