Заполнение двумерного массива звёздочками. - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <conio.h> const int N=10; const int K=15; int main() { char A[N][K]; for(int i=0; i<N; ++i) for(int j=0; j<K; ++j) A[i][j]='*'; for(int i=0; i<N; ++i) { for(int j=0; j<K; ++j) printf("%d",A[i][j]); printf("\n"); } getch(); return 0; }
Решение задачи: «Заполнение двумерного массива звёздочками.»
textual
Листинг программы
while(1){ print(array, h, w); usleep(200000); next(array, h, w); } return 0; } void print(char array[][10], int h, int w){ //char *ptr = array; int i, j; for (i=0; i<h; ++i) { for (j=0; j<w; ++j) //printf("%c", *(ptr+i*w+j)); printf("%c" , array[i][j]); putchar('\n'); } } char next(char array[][10], int h, int w){ int a, b; int count = 0; char *ptr2 = array; char array2[a][b]; int i, j; for(i=0; i<h; i++){ for(j=0; j<w; j++){ array2[a][b]=array[i][j]; array[i][j] = ' '; } } for(a=0; a<h; a++){ for(b=0; b<w; b++){ if(array2[(a-1+h)%h][b] == 'x') count++; else if(array2[a][(b-1+w)%w] == 'x') count++; else if(array2[(a-1+h)%h][(b-1+w)%w] == 'x') count++; else if(array2[(a+1+h)%h][b] == 'x') count++; else if(array2[a][(b+1+w)%w] == 'x') count++; else if(array2[(a+1+h)%h][(b+1+w)%w] == 'x') count++; else if(array2[(a+1+h)%h][(b-1+w)%w] == 'x') count++; else if (array2[(a-1+h)%h][(b+1+w)%w] == 'x') count++; else if(count < 2 || count > 3) array[a][b] = ' '; else if(count == 3) array[a][b] = 'x'; else if(count == 2 || count == 3) array[a][b] = 'x'; } } return(array[a][b]); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д