Задача- создать двумерный символьный массив размера M на N, заполнить рандомно верхний левый угол звездочками (К - шт.). Далее выполнить зеркалирование-отразить координаты звездочек в другие участки масива. Произвести очистку экрана, вывести массив, произвести задержку, далее бесконечный цикл.
| Код | #include <stdio.h> #include <string.h> #include <time.h> #include <stdlib.h>
const char STAR = '*'; const int STAR_NUMBER = 20; const int DIMENSION = 20;
int main() { char kal[DIMENSION][DIMENSION]; srand(time(0));
for(int y=0; y<DIMENSION; y++) // заполнить пробелами for(int x=0; x<DIMENSION; x++) kal[y][x] = ' ';
int x,y=0; for (int s=1;s<=STAR_NUMBER;s++) { x=rand()%(DIMENSION/2); y=rand()%(DIMENSION/2); if (kal[y][x]==STAR) s--; else kal[y][x] = STAR; }
int z=DIMENSION-1; for(int a=0; a<DIMENSION/2; a++) { z=DIMENSION-1; for(int b=0;b<DIMENSION/2; b++) { kal[a][z] = kal[a][b]; z--; } }
for (int i=0; i<DIMENSION; i++,puts("")) // вывод массива на экран for (int j=0; j<DIMENSION; j++) printf("%c",kal[i][j]);
|
В верхний правый и нижний левый участок я координаты отразил, а вот с нижним правым не могу разобраться...совсем затупил что-то. Прошу помощи. Заранее спасибо. |