这里的vs有一个报错说count不是一个可以改变左值。但是我之前使用的时候就不没有这个报错。这里是为什么,求指点。
代码在此
#include<sm.h>
int check(double **p)
{
int count=0;
for (int i = 0; i < x; i++)
{
for (int j = 0; j < x; j++)
{
if (p[i + 1][j + 1] == 0 && i + 1 < 10 && j + 1 < 10)
count++;
if (p[i + 1][j] == 0 && i + 1 < 10)
count++;
if (p[i + 1][j - 1] == 0 && i + 1 < 10 && j - 1 > 0)
count++;
if (p[i][j + 1] == 0 && j + 1 < 10)
count++;
if (p[i][j + 1] = 0 && j + 1 < 10)
count++;
if (p[i - 1][j] == 0 && i - 1 < 10)
count++;
if (p[i - 1][j - 1] == 0 && i - 1 < 10 && j - 1 < 10)
count++;
if (p[i - 1][j + 1] == 0 && i - 1 < 10 && j + 1 < 10)
count++;
if (count >= 7 && p[i][j] == 1)
p[i][j] = 0;
if (count == 6 || count == 7 && p[i][j] == 1)
p[i][j] = 0;
if (count >= 4 && p[i][j] = 1)
p[i][j] = 0;
if (count == 3 && p[i][j] = 0)
p[i][j] = 1;
if (count != 3 && p[i][j] = 0)
p[i][j] = 0;
}
}
}
#include<ctime>
#include<sm.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
int main()
{
double **p=NULL;
cin >> x;
p = new double *[x];
for (int i = 0; i < x; i++)
{
p[i] = new double[x];
}
for (int i = 0; i < x; i++)
{
for (int j = 0; j <x;j++)
{
{
p[i][j] = rand()%2;
int check(p[i][j]);
cout << p[i][j];
}
}
cout << endl ;
}
}