online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #include <time.h> #include <math.h> #define width 9 #define height 9 char mas[height][width]; char pmas[height][width]; void show() { int i,j; char k; for(i = 0,k=49;i < height/3;i++) { if( i == 1) k=52; if( i == 2) k=55; for(j = 0;j < width;j++,k++) { if(k>57) k=49; mas[i][j] = k; } } for(i = 3,k=50;i > height/3,i<(height/3)*2;i++) { if( i == 4)k=53; if( i == 5) k=56; for(j = 0;j < width;j++,k++) { if(k>57) k=49; mas[i][j] = k; } } for(i = 6,k=51;i > (height/3)*2,i < height;i++) { if( i == 7)k=54; if( i == 8) k=57; for(j = 0;j < width;j++,k++) { if(k>57) k=49; mas[i][j] = k; } } } void PM() { int i,j; for(i = 0;i < height;i++) for(j = 0;j < width;j++) pmas[i][j] = mas[i][j]; } int PP(int x,int y) { if(pmas[y-1][x-1] == ' ') return 1; else return 0; } void peres() { int i,j,k,o=0,p,g,l=1; char ch; //Перестановка первых трех строк do { for(i = 0;i < height/3;i++) { h1: p = rand() % height/3; if(p != i) for(j = 0;j < width;j++) { ch = mas[i][j]; mas[i][j] = mas[p][j]; mas[p][j] = ch; } else goto h1; o++; } }while(o <= 5); o = 0; //Перестановка вторых трех строк do { for(i = height/3;i < (height/3)*2;i++) { h2: p = rand()% ((height/3)*2); if(p >= height/3 && p != i) for(j = 0;j < width;j++) { ch = mas[i][j]; mas[i][j] = mas[p][j]; mas[p][j] = ch; } else goto h2; } o++; }while(o <= 5); o = 0; //Перестановка последних трех строк do { for(i = (height/3)*2;i < height;i++) { h3: p = rand()%height; if(p >= (height/3)*2 && p != i) for(j = 0;j < width;j++) { ch = mas[i][j]; mas[i][j] = mas[p][j]; mas[p][j] = ch; } else goto h3; } o++; }while(o != 5); o = 0; //Перестановка первых трех столбцов do { for(j = 0;j < width/3;j++) { h4: p = rand()% height/3; if(p != j) for(i = 0;i < height;i++) { ch = mas[i][j]; mas[i][j] = mas[i][p]; mas[i][p] = ch; } else goto h4; } o++; }while(o != 5); o = 0; //Перестановка вторых трех столбцов do { for(j = width/3;j < ((width/3)*2) ;j++) { h5: p = rand()% ((height/3)*2); if(p != j && p >= height/3) for(i = 0;i < height;i++) { ch = mas[i][j]; mas[i][j] = mas[i][p]; mas[i][p] = ch; } else goto h5; } o++; }while(o != 5); o = 0; //Перестановка последних трех столбцов do { for(j = ((width/3)*2);j < width;j++) { h6: p = rand()%height; if(p != j && p >= ((height/3)*2)) for(i = 0;i < height;i++) { ch = mas[i][j]; mas[i][j] = mas[i][p]; mas[i][p] = ch; } else goto h6; } o++; }while(o != 5); } void sterka(int n) { int l = 1, p,k; do { ch: p = rand()%9; k = rand()%9; if(mas[p][k] == 0) goto ch; else mas[p][k] = ' '; l++; }while(l < n); } //проверка на то,есть ли куда ставить цифру int prov() { int i,j,l=0; for(i = 0;i < height;i++) for(j = 0;j < width;j++) if(mas[i][j] == ' ') l++; if(l == 0) return 1; else return 0; } //Проверка на то,правильно заполнили судоку int pod() { int i,j,l = 0,k; for(i = 0;i < height;i++) { k = 0; for(j = 0;j < width;j++) { k += mas[i][j]; if(k == 4293 || k == 477) l++; } } if(l == 9) return 1; else return 0; } //Вывод массива void init() { int i,j; for(i = 0;i < height;i++) { for(j = 0;j < width;j++) { if(j == 3 || j == 6) printf("| %c ",mas[i][j]); else printf("%c ",mas[i][j]); } printf("\n"); if(i == 2 || i == 5) puts("_____________________"); } } int main() { long int f = 0; srand(time(NULL)); int key; int x,y,k,z,l,n; show(); kj: puts("Slojnost':"); puts("|-----------|"); puts("| 1:Essy |"); puts("|-----------|"); puts("| 2:Normal |"); puts("|-----------|"); puts("| 3:Hard |"); puts("|-----------|"); l = getch(); if(l == '1') n = 15; else if(l == '2') n = 25; else if(l == '3') n = 40; else goto kj; peres(); sterka(n); PM(); do { if(prov() == 0) { system("cls"); init(); puts("1:New Element"); puts("2: Delet Element"); z = getch(); switch(z) { case '1': puts("Wiberi stroku"); scanf("%d",&y); puts("Wiberi stolbez"); scanf("%d",&x); puts("Shto stavit'?"); scanf("%d",&key); if(mas[y-1][x-1] == ' ') { key += 48; mas[y-1][x-1] = key; } else puts("Eror"); break; case '2': puts("Wiberi stroku"); scanf("%d",&y); puts("Wiberi stolbez"); scanf("%d",&x); if(PP(x,y) == 1) { key += 48; mas[y-1][x-1] = ' '; } else puts("Error"); break; case 27:return 0; } } else { if(pod() == 1) { puts("Winner"); break; } else { puts("Looser"); break; } } }while(1); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue