Professional Documents
Culture Documents
DD Crack Console - CPP
DD Crack Console - CPP
#define MAX_COLS 10
typedef struct
{
int value;
int group;
bool passed;
} cell;
cell m[MAX_ROWS + 2][MAX_COLS + 2];
cell x[MAX_ROWS + 2][MAX_COLS + 2];
int gs[100];
int groups, a, b;
void completeaza(int, int);
void schimba_grup(int, int);
void do(void)
{
bool found;
int i, j, k, max;
srand(time(NULL));
groups = 0;
for (i = 0; i < 100; i++)
gs[i] = 0;
for (i = 0; i <= MAX_ROWS + 1; i++)
for (j = 0; j <= MAX_COLS + 1; j++)
{
m[i][j].value = -1;
m[i][j].group = 0;
m[i][j].passed = false;
}
for (i = 1; i <= MAX_ROWS; i++)
for (j = 1; j <= MAX_COLS; j++)
m[i][j].value = rand() % 5;
for (i = 0; i <= MAX_ROWS + 1; i++)
{
for (j = 0; j <= MAX_COLS + 1; j++)
cout << setw(2) << m[i][j].value << ' ';
cout << endl;
}
groups = 0;
for (i = 1; i <= MAX_ROWS; i++)
for (j = 1; j <= MAX_COLS; j++)
completeaza(i, j);
for (i = 1; i <= MAX_ROWS; i++)
{
for (j = 1; j <= MAX_COLS; j++)
cout << setw(2) << m[i][j].group << ' ';
cout << endl;
}
dir[2] = m[i+1][j].group;
lipeli++;
}
// directia STANGA
if (m[i][j].value == m[i][j-1].value)
{
if (m[i][j-1].group == 0)
m[i][j-1].group = m[i][j].group;
dir[3] = m[i][j-1].group;
lipeli++;
}
if (lipeli != 0)
{
min_group = dir[0];
pos_min = 0;
for (k = 1; k < 4; k++)
if (dir[k] < min_group)
{
min_group = dir[k];
pos_min = k;
}
for (k = 0; k < 4; k++)
if (dir[k] != dir[pos_min] && dir[k] != 100)
schimba_grup(dir[k], dir[pos_min]);
}
}
}
void schimba_grup(int vechi, int nou)
{
for (int i = 1; i <= MAX_ROWS; i++)
for (int j = 1; j <= MAX_COLS; j++)
if (m[i][j].group == vechi)
m[i][j].group = nou;
}