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

помогите найти ошибку в программе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать програму которая заменяет все Enter и Tab в строке str1 на сымволи '\n' и '\t' в строке str2. http://www.cyberforum.ru/cpp-beginners/thread379438.html
а если не сложно то можно функцию
C++ Организация динамических структур..ПОМОГИТЕ...вообще с ними не дружу на С++=( Скласти програму, у який організувати динамічну структуру та виконати її обробку згідно зі своїм варіантом. Використати підпрограми.(с чергой) Випадкові дволітерні слова: з великих латинських літер (A..Z - коди 65..90); підрахувати, яка літера зустрічається рідше за всі Составить программу, в который организовать динамическую структуру и выполнить ее обработку в соответствии со своим... http://www.cyberforum.ru/cpp-beginners/thread379428.html
Работа с файлами(чтение, запись, поиск) C++
Написать программу на С++ Файл содержит текст (набор слов разделенных через пробел). Ввести слово с клавиатуры и произвести его поиск в текстовом файле. Вывести на экран количество встречающихся слов в данном тексте.
Помогите со стеком C++
Разработать процедуру, которая формирует стек Stack, включив в него по одному разу элементы, которые входят в стек Stack1, но не входят в стек Stack2. Заранее спасибо!
C++ Вывести на экран сумму и среднее арифметическое N случайных чисел, заданных в диапазоне от А до В http://www.cyberforum.ru/cpp-beginners/thread379402.html
Написать программу, выводящую на экран сумму и среднее арифметическое N случайных чисел, заданных в диапазоне от А до В. Основная программа запрашивает значения N, А, В и передает их в функцию. Функция генерирует необходимое количество случайных чисел из заданного диапазона, выводит их на экран, производит вычисления и вывод результата на экран.
C++ двумерное уравнение теплопроводности вообщем есть двумерное уравнение теплопроводности с граничными условиями: \frac{\partial T}{\partial t}=\frac{\partial^2 T}{\partial x^2}+\frac{\partial^2 T}{\partial y^2}, \ \ T(x,y,0)=(1-sin(4x)^2)cos(y)^2 \ \ T(x,0,t)=0 \ \ T(x,1,t)=0 \ \ T(1,y,t)=0 \ \ T(0,y,t)=0 \ \ -1<x<1, \ \ -1<y<1 решается оно методом факторизации и приводится к следующей системе уравнений ... подробнее

Показать сообщение отдельно
nemesises
0 / 0 / 0
Регистрация: 01.11.2011
Сообщений: 42
07.11.2011, 22:21  [ТС]
только в таком остался

Добавлено через 1 минуту
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
#include <iostream> //cout cin
#include <cstdlib>  //srand rand system
#include <iomanip>  //setw
#include <ctime>    //time
using namespace std; 
 
class CMatrix 
{ 
private :
    int ** _matrix;//Указатель на 2-мерній массив 
    int _m;//содержит число строк квадратной матрицы
    int _n;//содержит число столбцов квадратной матрицы
public : 
 
    CMatrix(); //Конструктор по умолчанию 
    ~CMatrix();//Деструктор 
    void CleanUp();//Функция очистки 
    bool SetMatrix(int m, bool bRand);
    bool IsZeroRow(int i);//Проверяет преобладают ли в строке 0
    bool DeleteRow(int i);//Удаляет из матрицы i строку
    bool RemNonZeroRows();//Удаляет из матрицы строки с IsZeroRow == false
    void ShowRow(int i);  //Выводит на экран i строку
    int GetNumRows();//Возвращает число строк в матрице
    int GetNumCols();//Возвращает число столбцов в матрице
}; 
 
CMatrix::CMatrix() 
{ 
    _matrix = NULL;
    _m = -1;
    _n = -1;
} 
 
CMatrix::~CMatrix() 
{ 
    if(_matrix) 
        CleanUp();
} 
 
void CMatrix::CleanUp()//Функция очистки 
{ 
    int i; 
    if(_matrix) 
    { 
        for(i = _m - 1; 0 <= i; i--) 
            delete [] _matrix[i];//Чистим память под i-строку 
        delete [] _matrix; 
    } 
    _matrix = NULL;
    _m = -1;
    _n = -1;
} 
 
bool CMatrix::SetMatrix(int m, bool bRand) 
{ 
    int i = 0, j = 0; 
    if(0 < (_m = m)) 
    { 
        if(bRand) 
            srand(time(NULL)); 
        //Выделяем память указатели на строки матрицы
        _matrix = new int *[(_n = _m)]; 
        for(i = 0; i < _m; i++) 
        { 
            //выделяем память под строку
            _matrix[i] = new int[_n]; 
            for(j = 0; j < _n; j++) 
            { 
                if(!bRand) 
                { 
                    cout<<"matr["<<i + 1<<"]["<<j + 1<<"] = "; 
                    cin>>_matrix[i][j]; 
                } 
                else 
                { 
                    _matrix[i][j] = (rand()%2 - 1); 
                    /*if(_matrix[i][j] < 0) 
                        _matrix[i][j] = 0; */
                } 
            } 
        }
    } 
    else 
        _m = -1; 
    return (0 == (_m - i)*(_n - j)) ? true : false; 
} 
 
bool CMatrix::IsZeroRow(int i)
{
    int j,nZero = -1;
    if(_matrix && i < _m)
    for(nZero = 0, j = 0; j < _n; j++)
    {
        if(_matrix[i][j] == 0)
            nZero++;
    }
    return (((_m - nZero) <= nZero) ? true : false);
}
 
bool CMatrix::DeleteRow(int i)//Удаляет из матрицы i строку
{
    int j;
    if(_matrix && i < _m)
    //Поднимаем строки на 1-ну вверх
    for( ; i < _m - 1; i++)
    for(j = 0; j < _n; j++)
        _matrix[i][j] = _matrix[i + 1][j];
    delete [] _matrix[i];//Даже если i == _m - 1 то просто удалим последнюю строку
    //Если из матрицы удалили все строки
    //то возврат ложь
    return (0 < (_m--)) ? true : false;
}
 
bool CMatrix::RemNonZeroRows()
{
    bool bRet = true;int i;
    if(_matrix && 0 < _m)
    {
        for(i = 0; i < _m && bRet; i++)
        {
            if(!IsZeroRow(i))
                bRet = DeleteRow(i);
        }
    }
    //Если в окажется что удалили все строки матрицы вернём ложь
    return bRet;
}
 
void CMatrix::ShowRow(int i)
{
    int j;
    if(_matrix && i < _m)
    for(j = 0; j < _n; j++)
        cout<<setw(3)<<_matrix[i][j]<<" ";
    cout<<"\n";
}
 
int CMatrix::GetNumRows()
{
    int ret = -1;
    if(_matrix && 0 < _m)
        ret = _m;
    return ret;
}
 
int CMatrix::GetNumCols()
{
    int ret = -1;
    if(_matrix && 0 < _n)
        ret = _n;
    return ret;
}
 Комментарий модератора 
Используйте теги форматирования кода!


вот вроде он
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru