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

Потеря памяти в программе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ DEV-C++ операторы ".", "::" как в VS http://www.cyberforum.ru/cpp-beginners/thread678714.html
Помогите разобраться. Как настроить оператор - "." и "::", чтобы после них вылезало окно со списком функций созданого класса? Тоесть как в VS... Пример 1: myClass ob; ob./*здесь окно выбора функций класса*/set(10); Пример 2: void myClass::/*здесь окно выбора функций класса*/set(int in){
C++ Заполнить массив случайными числами, и вывести его на экран в форме матрицы! Напишите кто программу для этого, потому что мне не получается! http://www.cyberforum.ru/cpp-beginners/thread678711.html
C++ Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания.
Дан тестовый файл. Вывести его содержимое в другой файл, заменив каждое вхождение пробела на символ нижнего подчеркивания. Вывести оба файла на экран используя функцию.
Непонятки с итераторами C++
Здравствуйте, господа программисты. Пытался написать вот эту задачку, но получается что-то нехорошее. Помогите, пожалуйста! #include <iostream> #include <list> #include <iterator> #include <algorithm> using namespace std; list<int>::iterator find(int h, list<int> l) {
C++ Поиск элемента в массиве http://www.cyberforum.ru/cpp-beginners/thread678678.html
Почему не выводится цифра 6? #include <stdio.h> #include <string.h> int main () { char szInput = "1234567890"; int k, n = 6; for(k=0; k<strlen(szInput); k++) if(szInput==n) printf("%d\n", szInput);
C++ Задача про новогодний подарок Даны целые неотрицательные A, X, Y, Z. Известно, что в каждые новогодний подарок необходимо положить A конфет, одно или два яблока, одну или две груши, причем количество фруктов в подарке должно равняться трем. Какое максимальное количество подарков можно скомплектовать из X конфет, Y яблок и Z груш. подробнее

Показать сообщение отдельно
Default
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 28
23.10.2012, 21:21  [ТС]     Потеря памяти в программе
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
double* direct_multiple(double angle1, double angle2)
{
    double* new_matrixS = new double[4];// пока что с двойкой, потом двойка будет входить в переменную для весов
    
    new_matrixS[0]=2*cos(angle1)*cos(angle2);
    new_matrixS[1]=2*cos(angle1)*sin(angle2);
    new_matrixS[2]=2*sin(angle1)*cos(angle2);
    new_matrixS[3]=2*sin(angle1)*sin(angle2);
    return new_matrixS;
}
 
 
 
double* funkg(double koord[],double mu, double lambda)//,double Z, double fi)
{
    
    double* g = new double[2];
    g[0] = /*1 + koord[0] - koord[0]*koord[1];//*/1 + pow(koord[0],2) - ((4*mu + 2*lambda)/(mu + lambda))*koord[0]*koord[1];
    g[1] = /*1 + koord[0] - koord[0]*koord[1];//*/1 + pow(koord[1],2) - ((4*mu + 2*lambda)/(mu + lambda))*koord[0]*koord[1];
    return g;
}
 
double* get_B(double alpha,double fi, double R, double Rc[], double Z, double y[])
{
    double thetta;
    thetta = atan2(y[1]-Rc[1],y[0]- Rc[0]);
    double* matr = new double[4];   
 
    double* Ef = new double[4];
    double* matrfi = new double[4];
    double* matrthfi = new double[4];
    
    Ef[0]=1;
    Ef[1]=0;
    Ef[2]=0;
    Ef[3]=1;
    
    double p0 = 0;
 
    p0 = (alpha*Z - R)/R;
 
    double a1; // случайная величина от 0 до 1 используется для вычисления матрицы B
    double a2; // случайная величина от 0 до 1 используется для вычисления матрицы B если a1 > alpha/(2+alpha)
 
    a1 = rand();
    a2 = rand();
 
    if (thetta < 0) {thetta = thetta + 2*pi;}
 
    matrfi = direct_multiple(fi,fi);
    matrthfi = direct_multiple((thetta + fi)/2,(thetta + fi)/2);
    
    if (a1 < alpha/(2+alpha))
    {
        matr = matrfi;
    }
    else if (2*R - alpha*Z > 0) 
    {
        if (a2 < (2*R - alpha*Z)/2*R)
        {
            matr = Ef;
        }
        else 
        {
            matr = matrthfi;
        }
    }
    else if (a2 < (alpha*Z - 2*R)/(2*R*p0))
    {
        matr[0] = -1*p0;
        matr[1] = 0;
        matr[2] = 0;
        matr[3] = -1*p0;
    }
    else
    {
        matr[0] = matrthfi[0]*p0;
        matr[1] = matrthfi[1]*p0;
        matr[2] = matrthfi[2]*p0;
        matr[3] = matrthfi[3]*p0;
    }
    //delete[] matrfi;
    //delete[] matrthfi;
    return matr;
}
Если раскомментить в конце delete, вылетает фатал еррор, хотя в другом месте подобный маневр работает
 
Текущее время: 12:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru