code

code

sajad beheshti

#include <stdio.h>

void check4(char A[][15], int r, int s, char cur, char ne) {

if (A[r][s + 1] == cur) A[r][s + 1] = ne;

if (A[r][s - 1] == cur) A[r][s - 1] = ne;

if (A[r - 1][s] == cur) A[r - 1][s] = ne;

if (A[r + 1][s] == cur) A[r + 1][s] = ne;

}

void changeColor(int N, int M, char A[][15], char newcolor, char radif, char sotun) {

radif--;

sotun--;

char maincolor = A[radif][sotun];

A[radif][sotun] = newcolor;

check4(A, radif, sotun, maincolor, newcolor);

int mainsw = 1;

for (int i = sotun + 1; i < M && mainsw == 1; i++)

{

if (A[radif][i] == newcolor)

check4(A, radif, i, maincolor, newcolor);

else mainsw = 0;

}

mainsw = 1;

for (int i = sotun - 1; i <= 0 && mainsw == 1; i++)

{

if (A[radif][i] == newcolor)

check4(A, radif, i, maincolor, newcolor);

else mainsw = 0;

}

int rj = 1;

for (int j = radif + 1; j < N && rj>0; j++)

{

for (int i = 0; i < M; i++) {

if (A[j][i] == newcolor) {

check4(A, j, i, maincolor, newcolor);

rj++;

}

}

if (rj == 1) break;

}

}

int main()

{

int N, M, Radif, Sotun, NewCol;

char A[15][15];

scanf("%d %d", &N, &M);

for (int i = 0; i < N; i++)

for (int j = 0; j < M; j++)

scanf("%c", &A[i][j]);

scanf("%d %d", &Radif, &Sotun);

scanf("%c", &NewCol);

for (int i = 0; i < N; i++) {

for (int j = 0; j < M; j++)

printf("%c ", A[i][j]);

printf("\n");

}

return 0;

}


Report Page