Yeah I know, I made it in 10 seconds.
Yeah I know, I made it in 10 seconds.
"The Internet treats censorship as damage and routes around it." - John Gilmore
CornedBee: Well, here's a portable toupper() which should work between character sets:
Code:char toupper(char c) { static const char *lowercase = "abcdefghijklmnopqrstuvwxyz"; static const char *uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int i; for(i = 0; i < 26; ++i) { if(c == lowercase[i]) { return uppercase[i]; } } return c; }
Code:#include <stdio.h> void J(char*a){int f,i=0,c='1';for(;a[i]!='0';++i)if(i==81){ puts(a);return;}for(;c<='9';++c){for(f=0;f<9;++f)if(a[i-i%27+i%9 /3*3+f/3*9+f%3]==c||a[i%9+f*9]==c||a[i-i%9+f]==c)goto e;a[i]=c;J(a);a[i] ='0';e:;}}int main(int c,char**v){int t=0;if(c>1){for(;v[1][ t];++t);if(t==81){J(v[1]);return 0;}}puts("sudoku [0-9]{81}");return 1;}
True. It's also slow.
Don't get me wrong. Considering how stupid the original assignment is, pretty much everything is fine to turn in IMO.
I was just talking about using 97 instead of 'a', 65 instead of 'A', and 32 instead of 'a' - 'A'. To me, the numbers are far less readable, and they have a small portability impact too.
All the buzzt!
CornedBee
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law