1)expected '}' before 'else'
2)break statement not within loop or switch
El primer error corresponde a la linea del
Código:
printf("as");
else if (contador<=columDisponibles){
Código:
if(palabra[h]=='\0'){
break;
}
Es como si perdiera la referencia del while o de los if, siendo que revisando cada llave, estan bien segun yo. Dejo el codigo de la funcion completa:
Código
char** definirDificultad(char ** nuevaMatriz,int N, int M ,int dificultad){ int i,j,h,contador, filasDisponibles,columDisponibles; char caracter; char palabra[200]; //palabra=(char*)malloc(sizeof(char)); for(i=0;i<N;i++){ for(j=0;j<M;j++){ nuevaMatriz[i][j]='&'; } } FILE *diccionario; posicion *posicionActual; //Palabras horizontales if(dificultad==1){ for(i=0;i<N;i++){ for(j=0;j<M;j++){ break; } if (caracter!='\n'){ nuevaMatriz[i][j]=caracter; } } } } // Palabras verticales else if(dificultad==2){ h=0; h++; } palabra[h-1]='\0'; h=0; j=0; int k=0; posicionActual->x=0; posicionActual->y=0; while(palabra[h]!='\0'){ contador=0; while(palabra[h]!='\n'){ contador++; h++; } k=h-contador; if(contador<=N && contador<=M && contador!=0){ filasDisponibles=N-(posicionActual->x); columDisponibles=M-(posicionActual->y); if(contador<=filasDisponibles){ for(i=posicionActual->x;i<(contador+posicionActual->x);i++){ if(i>=N){ break; } else if(nuevaMatriz[i][j]=='&' || nuevaMatriz[i][j]==palabra[k]){ nuevaMatriz[i][j]=palabra[k]; k++; } } i=posicionActual->x; while(nuevaMatriz[i][j]!='&'){ j++; if(j>=M){ j=0; i++; } } posicionActual->y=j; posicionActual->x=i; } else if (contador<=columDisponibles){ for(j=posicionActual->y;j<(contador+posicionActual->y);j++){ if(j>=M){ break; } else if(nuevaMatriz[i][j]=='&' || nuevaMatriz[i][j]==palabra[k]){ nuevaMatriz[i][j]=palabra[k]; k++; } } j=posicionActual->y; while(nuevaMatriz[i][j]!='&'){ j++; if(i>=N){ i=0; j++; } } posicionActual->y=j; posicionActual->x=i; } } if(palabra[h]=='\0'){ break; } h++; } } //free(palabra); return nuevaMatriz; }