Предмет: Информатика,
автор: nikheadsh0t
помогите найти ошибку в коде программы с++
#include "stdafx.h"
#include
#include
#include
#include
#include "time.h"
#include "iostream"
using namespace std;
class matrix
{
private:
int rows;
int cols;
int **arr = new int*[rows];
public:
void matrix1()
{
cin >> rows;
cin >> cols;
for (int i = 0; i < rows; i++)
{
arr[i] = new int[cols];
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
arr[i][j] = rand() % 10;
}
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
cout << arr[i][j] << "\t";
}
cout << endl;
}
for (int i = 0; i < rows; i++)
{
delete[] arr[i];
}
delete[] arr;
}
};
void main()
{
srand(time(NULL));
matrix pervaya;
pervaya.matrix1();
system("pause");
}
snow99:
Написали бы хоть, на что ругается..
в том то и дело что он не показывает на что ругается
Да ясно на что, если ты уже исправил то, что в ответе подсказали. На вот это int **arr = new int*[rows];
rows должно быть выражением, приводимым к константе, а у тебя до ввода значение не определено. Тут писать или как в С через malloc или взять std::vector
Ответы
Автор ответа:
1
Это множество директив #include вам совершенно ни к чему. Хватит:
#include "time.h"
#include "iostream"
Также, метод main() должен возвращать int. Сигнатура void main() - глупость. В стандарте указано, что корректные сигнатуры это int main() и int main(int argc, char* argv[]).
поменял на int main проблема никуда не делась
Похожие вопросы
Предмет: Другие предметы,
автор: uldasevam01
Предмет: Физика,
автор: lovegot992
Предмет: Геометрия,
автор: lloveyou155
Предмет: Математика,
автор: Alyavasileva03
Предмет: Алгебра,
автор: Diana24102002