Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include "stdio.h"
- #include "conio.h"
- #include "locale.h"
- #include "malloc.h"
- int check(int **a, int n){
- int c = 0;
- for (int i = 2; i < n - 2; i++)
- for (int j = 2; j < n - 2; j++)
- if (a[i][j] == 0) c++;
- if (c == 0) return(1);
- }
- void null(int **a, int n){
- for (int i = 2; i < n - 2; i++)
- for (int j = 2; j < n - 2; j++)
- a[i][j] = 0;
- }
- void move(int **a, /*int k,*/ int i, int j/*,int w,int e*/){
- if (a[i][j+1] == 0){
- j++;
- a[i][j] = 1;
- move(a, i, j);
- }
- if (a[i+1][j] == 0){
- i++;
- a[i][j] == 2;
- move(a, i, j);
- }
- }
- int main(){
- int k = 1,w = 0, e = 0;
- setlocale(LC_ALL, "RUS");
- printf("Введите значение стороны: ");
- int n;
- scanf("%d", &n);
- n += 4;
- if (n < 9) {
- printf( " \n Нельзя вычислить \n");
- _getch();
- return(0);
- }
- int **a = (int**)malloc(n * sizeof(int*));
- for (int i = 0; i < n; i++)
- {
- a[i] = (int*)malloc(n * sizeof(int));
- for (int j = 0; j < n; j++)
- a[i][j] = -1;
- }
- null(a, n);
- //for (int i = 2; i < n - 2; i++)
- // for (int j = 2; j < n - 2; j++)
- a[2][2] = 1 ;
- int i = 2, j = 2;
- move(a,i,j);
- if (check(a, n) == 1) {
- for ( i=2 ; i < n-2; i++){
- printf("\n");
- for ( j=2 ; j < n-2; j++)
- printf("% d\t ", a[i][j]);
- }
- _getch();
- return(0);
- }
- // вывод элементов
- for ( i=2 ; i < n-2; i++){
- printf("\n");
- printf("\n");
- for ( j=2 ; j < n-2; j++)
- printf("% d\t ", a[i][j]);
- }
- _getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement