Hallo an alle ich bin neu und ich soll fürs studium ein sudokelöser in c++ programmieren.
hier die quelltexte
vorgP4.2.h:
typedef unsigned char SD [9][9][10];
//SD[j][0] ist Anzahl der offenen Möglichkeiten auf Position (i,j)
//SD[j][k]==true genau dann wenn die Zahl k eine offene Möglichkeit ist
char sudoku(SD);
vorgP4.2.c++
#include<stdio.h>
#include<stdlib.h>
#include"vorgP4.2.h"
#include<iostream.h>
void lese_SD(SD sd)
{
unsigned c;
for(unsigned i=0;i<9;++i)
for(unsigned j=0;j<9;++j)
{
scanf("%u",&c);
for(unsigned k=1;k<10;++k) sd[j][k]=(c?0:1);
sd[j][0]=(c?1:9);
if(c) sd[j][c]=1;
}
}
void drucke_SD(SD sd)
{
for(unsigned i=0;i<9;++i)
{
for(unsigned j=0;j<9;++j)
{
if(sd[j][0]!=1) { printf("%u ",0); continue; }
for(unsigned k=1;k<10;++k)if(sd[j][k]) printf("%u ",k);
}
printf("\n");
}
}
SD sd;
main()
{
lese_SD(sd);
drucke_SD(sd);
printf("\n");
if(sudoku(sd)) drucke_SD(sd);
else printf("unloesbar");
system("PAUSE");
}
und schließlich aufgP4.4.c++:
#include "vorgP4.2.h"
char sudoku(SD sd)
{
SD sd2;
sd2=sd <---------------hier !
// rest hab ich weggelassen
}
da an der markierten stelle bekomme ich bei compilieren mit Dev-C++ 4.9.9.2
den Fehler:
In function `char sudoku(unsigned char (*)[9][10])':
incompatible types in assignment of `unsigned char (*)[9][10]' to `unsigned char[9][9][10]'
und meine frage ist WIESO?????
SD ist ja vom typ char[9][9][10] was heißt das (*) ???????????????
danke
hier die quelltexte
vorgP4.2.h:
typedef unsigned char SD [9][9][10];
//SD[j][0] ist Anzahl der offenen Möglichkeiten auf Position (i,j)
//SD[j][k]==true genau dann wenn die Zahl k eine offene Möglichkeit ist
char sudoku(SD);
vorgP4.2.c++
#include<stdio.h>
#include<stdlib.h>
#include"vorgP4.2.h"
#include<iostream.h>
void lese_SD(SD sd)
{
unsigned c;
for(unsigned i=0;i<9;++i)
for(unsigned j=0;j<9;++j)
{
scanf("%u",&c);
for(unsigned k=1;k<10;++k) sd[j][k]=(c?0:1);
sd[j][0]=(c?1:9);
if(c) sd[j][c]=1;
}
}
void drucke_SD(SD sd)
{
for(unsigned i=0;i<9;++i)
{
for(unsigned j=0;j<9;++j)
{
if(sd[j][0]!=1) { printf("%u ",0); continue; }
for(unsigned k=1;k<10;++k)if(sd[j][k]) printf("%u ",k);
}
printf("\n");
}
}
SD sd;
main()
{
lese_SD(sd);
drucke_SD(sd);
printf("\n");
if(sudoku(sd)) drucke_SD(sd);
else printf("unloesbar");
system("PAUSE");
}
und schließlich aufgP4.4.c++:
#include "vorgP4.2.h"
char sudoku(SD sd)
{
SD sd2;
sd2=sd <---------------hier !
// rest hab ich weggelassen
}
da an der markierten stelle bekomme ich bei compilieren mit Dev-C++ 4.9.9.2
den Fehler:
In function `char sudoku(unsigned char (*)[9][10])':
incompatible types in assignment of `unsigned char (*)[9][10]' to `unsigned char[9][9][10]'
und meine frage ist WIESO?????
SD ist ja vom typ char[9][9][10] was heißt das (*) ???????????????
danke