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

Ошибка: Run-time check failure: variable 'C' is being used without being initialized - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Qeeet
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 14
04.02.2013, 20:29     Ошибка: Run-time check failure: variable 'C' is being used without being initialized #1
Здравствуйте,
Помогите решить одну проблему. Есть задание написать программу, которая находит определитель матрицы и умножает две матрицы, введенные з клавиатуры.
В процесе решения задачи наткнулся на следующую проблему. После компиляции в строке 74 IDE выдает ошибку "Run-time check failure: variable 'C' is being used without being initialized".
По разному пробовал исправить, не получаеться никак.

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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
 
class macierz
{
    void create_table();
    int rows;
    int columns;
public:
    int getc(){return columns;}
    int getr(){return rows;}
    macierz(int,int);
    macierz();
    ~macierz();
    float **cells;
};
 
//заполнение матрицы, если вызвана функцией
macierz::macierz(int a,int b)
{
    rows=a;
    columns=b;
    create_table();
}
 
//Заполнение матрицы вручную
macierz::macierz()
{
    cout<<"Количество строк матрицы = ";
    cin>>rows;
    cout<<"Количество столбцов матрицы = ";
    cin>>columns;
    create_table();
    for(int i=0;i<rows;i++){
        for(int j=0;j<columns;j++){
            cout<<"a("<<i+1<<","<<j+1<<") = ";
            cin>>cells[i][j];
    }}
}
 
//Освобождение памяти
macierz::~macierz()
{
    for(int i=0;i<rows;i++)
        delete []cells[i];
    delete []cells;
}
 
//Выделение памяти под матрицу
void macierz::create_table()
{
    cells=new float*[rows];
    for(int i=0;i<rows;i++)
        cells[i]=new float[columns];
    }
 
//Функция умножения двох матриц. Функция недоделана
macierz func(macierz A,macierz B)
{
    macierz C(A.getr(),B.getc());
    return C;
}
 
void main()
{
    macierz *A,*B,*C=NULL;//macierz&rC=*C;
    cout<<"Матрица A:"<<endl;
    A=new macierz;
    cout<<"Матрица B:"<<endl;
    B=new macierz;
    *C=func(*A,*B);
    getchar();getchar();getchar();
}
2. Второй вопрос. Что значит или как трактовать ":" после CSome( int size )?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class CSome
{
public:
  CSome( int size ) : p( 0 ), sz( size ) { p = new int[a]; }
  ~CSome() { delete p; }
...
  operator int*() { return p; }
  operator const int*() const { return p; }
 
private:
  int* p;
  int  sz;
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
05.02.2013, 04:39     Ошибка: Run-time check failure: variable 'C' is being used without being initialized #21
Qeeet, посмотрите на сравнение:
i>rows
j>columns

Добавлено через 2 минуты
Qeeet, вы можете при объявлении обнулить элементы.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Qeeet
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 14
05.02.2013, 04:56  [ТС]     Ошибка: Run-time check failure: variable 'C' is being used without being initialized #22
Цитата Сообщение от MrGluck Посмотреть сообщение
Qeeet, посмотрите на сравнение:
i>rows
j>columns

Добавлено через 2 минуты
Qeeet, вы можете при объявлении обнулить элементы.
ооо, какой ужас, лучше я пойду спать. Завтра надеюсь так тупить не буду

Добавлено через 9 минут
Цитата Сообщение от MrGluck Посмотреть сообщение
Qeeet, вы можете при объявлении обнулить элементы.
а как это сделать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2013, 16:37     Ошибка: Run-time check failure: variable 'C' is being used without being initialized
Еще ссылки по теме:

C++ Run-Time Check Failure #3 - The variable 'c' is being used without being initialized
C++ - Run-Time Check Failure #3 - The variable 'c' is being used without being initialized C++
C++ Ошибка: Run-Time Check Failure #3 - The variable 'i' is being used without being initialized

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
05.02.2013, 16:37     Ошибка: Run-time check failure: variable 'C' is being used without being initialized #23
Цитата Сообщение от Qeeet Посмотреть сообщение
а как это сделать?
C++
1
2
3
4
5
6
7
8
9
10
//Выделение памяти под матрицу
void macierz::create_table()
{
    cells=new float*[rows];
    for(int i=0;i<rows;i++)
    {
        cells[i]=new float[columns];
        for(int j=0;j<columns;j++)
            cells[i][j] = 0;
    }
Yandex
Объявления
05.02.2013, 16:37     Ошибка: Run-time check failure: variable 'C' is being used without being initialized
Ответ Создать тему
Опции темы

Текущее время: 17:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru