Помогите найти ошибку в коде программы с++ #include "stdafx.h" #include #include...

0 голосов
53 просмотров

Помогите найти ошибку в коде программы с++
#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";<br> }
cout << endl;<br> }

for (int i = 0; i < rows; i++)
{
delete[] arr[i];
}
delete[] arr;
}
};
void main()
{
srand(time(NULL));
matrix pervaya;
pervaya.matrix1();
system("pause");
}


Информатика (31 баллов) | 53 просмотров
0

Написали бы хоть, на что ругается..

0

в том то и дело что он не показывает на что ругается

0

Да ясно на что, если ты уже исправил то, что в ответе подсказали. На вот это int **arr = new int*[rows];

0

rows должно быть выражением, приводимым к константе, а у тебя до ввода значение не определено. Тут писать или как в С через malloc или взять std::vector

Дан 1 ответ
0 голосов

Это множество директив #include вам совершенно ни к чему. Хватит:

#include "time.h"

#include "iostream"


Также, метод main() должен возвращать int. Сигнатура void main() - глупость. В стандарте указано, что корректные сигнатуры это int main() и int main(int argc, char* argv[]).

(4.7k баллов)
0

поменял на int main проблема никуда не делась