vbextreme ha scritto:
Il primo consiglio è cambiare IDE Butta nel cesso dev-c++ e scaricati Code::Blocks,posta il codice in questo forum e ne riparliamo.
Ho scaricato Code::Blocks e ho provato a compilarlo, ma mi da tuttavia lo stesso problema.
Il codice l'ho postato su pastebin, ma comunque eccolo:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main() {
int m[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0}; //matrice già riempita
int i,j;
int num; //valore di scambio con quello della matrice
int mosse=0;
printf("Questo programma compone il gioco del 15\n\n");
printf("Inserendo uno dei numeri adiacenti allo spazio, puoi mischiare la matrice!\n\n\n");
//stampa a video
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(m[i][j]==0)
printf(" ");
else
printf(" %2d ",m[i][j]);
}
printf("\n\n");
}
do{
printf("\nInserisci il numero (0 per terminare la mischia)\n");
scanf("%d",&num);
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(m[i][j]==num){
if(m[i-1][j]==0 || m[i+1][j]==0 || m[i][j-1]==0 || m[i][j+1]==0) { //condizione che guarda i 4 numeri circostanti al numero digitato
m[i][j]=0;
//algoritmo di scambio eventualmente da rivedere
if(m[i-1][j]==0)
m[i-1][j]=num;
else if(m[i+1][j]==0)
m[i+1][j]=num;
else if(m[i][j-1]==0)
m[i][j-1]=num;
else if(m[i][j+1]==0)
m[i][j+1]=num;
}
//fine algoritmo scambio
system("cls");
printf("Questo programma compone il gioco del 15\n\n");
printf("Inserendo uno dei numeri adiacenti allo spazio, puoi mischiare la matrice!\n\n\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(m[i][j]==0)
printf(" ");
else
printf(" %2d ",m[i][j]);
}
printf("\n\n");
}
}
}
}
}
while(num!=0);
printf("Ora e' il momento di risolvere il puzzle!!\n\n");
do{
printf("\nInserisci il numero da spostare (permi 0 quando hai finito)\n");
scanf("%d",&num);
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(m[i][j]==num){
if(m[i-1][j]==0 || m[i+1][j]==0 || m[i][j-1]==0 || m[i][j+1]==0) {
m[i][j]=0;
//algoritmo di scambio eventualmente da rivedere
if(m[i-1][j]==0)
m[i-1][j]=num;
else if(m[i+1][j]==0)
m[i+1][j]=num;
else if(m[i][j-1]==0)
m[i][j-1]=num;
else if(m[i][j+1]==0)
m[i][j+1]=num;
}
//fine algoritmo scambio
system("cls");
printf("Questo programma compone il gioco del 15\n\n");
printf("Inserendo uno dei numeri adiacenti allo spazio, puoi mischiare la matrice!\n\n\n");
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(m[i][j]==0)
printf(" ");
else
printf(" %2d ",m[i][j]);
}
printf("\n\n");
}
}
}
}
mosse++;
}
while(num!=0);
printf("Hai risolto il Gioco del 15 in %d mosse!\n\n", mosse-1);
}