c-Programm zu überprüfen, gültige sudoku

ich bin das schreiben von c-code, um zu überprüfen, ob die gegebene matrix ist gültige sudoku-Lösung oder nicht.
Input wäre matrix von n*n-Größe.
Ich habe code geschrieben, um zu überprüfen, Zeile und Spalte, aber ich bin nicht immer so überprüfen Sie die Gitter aus sqrt(n)*sqrt(n) Größe.

mein code ist hier

#include<stdio.h>
int main()
{
  int i,j,count=0,sumrow;
  int sumcol;
    int n;
 scanf("%d",&n);
  int arr[n+1][n+1];
  for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
      scanf("%d",&arr[i][j]);
    for(i=1;i<=n;i++)
    {
      sumcol=0;
      for(j=1;j<=n;j++)
      sumcol+=arr[j][i];
      if(sumcol!=(n*(n+1)/2))
        count++;
    }
 for(i=1;i<=n;i++)
  {
    sumrow=0;
    for(j=1;j<=n;j++)
    {
      sumrow+=arr[i][j];
    }
  //   printf("%d\n",sumrow);
    if(sumrow!=(n*(n+1)/2))
      count++;
  }


  //printf("count%d ",count);
  if(count==0)
    printf("yes");
  else
    printf("no");
  return 0;
}
  • Was ist Ihre Frage?
  • ich bin nicht immer wie überprüft sub-Netze von sudoku. z.B. für 9*9 sudoku haben wir 3*3 ist 9 Gitter.
  • In C zählen wir von 0, nicht 1. Ihre Schleifen sollte "code" for(i=0;i<n;i++)
  • ich habe reservierten array von n+1 durch n+1 Größe
InformationsquelleAutor amit | 2015-07-02
Schreibe einen Kommentar