Author: Joost Buijs
Date: 03:43:38 08/14/03
Go up one level in this thread
You can try something like this:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int queens[9][2];
int rooks[10][2];
int bishops[10][2];
int knights[10][2];
int pawns[8][2];
void WriteArrays(int nodes)
{
char fname[14];
FILE *fp;
sprintf(fname,"Movei%d.d",nodes);
fp = fopen(fname,"wb");
fwrite(queens, sizeof(queens), 1, fp);
fwrite(rooks, sizeof(rooks), 1, fp);
fwrite(bishops, sizeof(bishops), 1, fp);
fwrite(knights, sizeof(knights), 1, fp);
fwrite(pawns, sizeof(pawns), 1, fp);
fclose(fp);
}
int CompareArray(int nodes)
{
char fname[14];
FILE *fp;
unsigned int i,j;
int lqueens[9][2];
int lrooks[10][2];
int lbishops[10][2];
int lknights[10][2];
int lpawns[8][2];
sprintf(fname,"Movei%d.d",nodes);
fp = fopen(fname,"rb");
fread(lqueens, sizeof(queens), 1, fp);
fread(lrooks, sizeof(rooks), 1, fp);
fread(lbishops, sizeof(bishops), 1, fp);
fread(lknights, sizeof(knights), 1, fp);
fread(lpawns, sizeof(pawns), 1, fp);
fclose(fp);
for (j = 0; j < 2; ++j)
for (i = 0; i < 9; ++i)
if (queens[i][j] != lqueens[i][j])
{
printf("queens differ at index [%d][%d]\n", i, j);
return (1);
}
for (j = 0; j < 2; ++j)
for (i = 0; i < 10; ++i)
if (rooks[i][j] != lrooks[i][j])
{
printf("rooks differ at index [%d][%d]\n", i, j);
return (1);
}
for (j = 0; j < 2; ++j)
for (i = 0; i < 10; ++i)
if (bishops[i][j] != lbishops[i][j])
{
printf("bishops differ at index [%d][%d]\n", i, j);
return (1);
}
for (j = 0; j < 2; ++j)
for (i = 0; i < 10; ++i)
if (knights[i][j] != lknights[i][j])
{
printf("knights differ at index [%d][%d]\n", i, j);
return (1);
}
for (j = 0; j < 2; ++j)
for (i = 0; i < 8; ++i)
if (pawns[i][j] != lpawns[i][j])
{
printf("pawns differ at index [%d][%d]\n", i, j);
return (1);
}
return (0);
}
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.