questo qua fa il primo partizionamento, però è meglio se riscrivo la funzione divideM per renderla più portabile e di conseguenza anche la parte del main, in modo da non doversi massacrare ad ogni frazionamento!
codice:
#include<stdio.h>
#define SIZE 32
void printM(const char matrix[][*]);
void cleanM(char matrix[][*]);
void divideM(char matrix[][*]);
int X=0,Y=0;
int LIM;
int main(void)
{
int count=0,temp;
char matrix[SIZE][SIZE];
cleanM(matrix);
//prima divisione
LIM=(SIZE/2-1);
temp=0;
while(count<4){
divideM(matrix);
if(X==SIZE/2){
Y=temp;
}
else{
X=temp;
temp=Y;
}
count++;
}
printM(matrix);
return 0;
}
void cleanM(char matrix[][SIZE])
{
int i,j;
for(i=0;i<SIZE;i++){
for(j=0;j<SIZE;j++){
matrix[i][j]='x';
}
}
}
void printM(const char matrix[][SIZE])
{
int i,j;
for(i=0;i<SIZE;i++){
for(j=0;j<SIZE;j++){
printf("%c|",matrix[i][j]);
}
printf("\n");
}
}
void divideM(char matrix[][SIZE])
{
int i=0;
matrix[X][Y+LIM]='A';
for(;i <=(SIZE/2-1);X++,Y++,i++){
matrix[Y][X]='D';
}
}