Per esercitarmi un po' col C tra una (noiosa) pagina di manuale e l'altra provo a risolvere problemi come questi:
http://ioi.dsi.unimi.it/selezioni/struzzo.html
Qualcuno mi sa dire perchè il conteggio dei punri cardinali (quello all'interno del while) non funziona a dovere?
codice:
#include <stdio.h>
#include <stdlib.h>
main() {
int counter[4],i, effettivoX, effettivoY;
char sposta[100000];
printf("Dammi la coordinata");
scanf("%s", &sposta);
//printf("%s", sposta);
i=0;
while (sposta[i] !='*'){
switch(sposta[i]){
case 'N':
counter[0]=counter[0]+1;
break;
case 'S':
counter[1]=counter[1]+1;
break;
case 'O':
counter[2]=counter[2]+1;
break;
case 'E':
counter[3]=counter[3]+1;
break;
default:
break;
}
i=i+1;
}
//printf("%d", counter[0]);---->SE GUARDATE COSA STAMPA QUESTO VEDETE CHE c'è QUALCOSA CHE TOCCA
effettivoY=counter[0]-counter[1];
effettivoX=counter[2]-counter[3];
printf("%d", effettivoX*effettivoX+effettivoY*effettivoY );
printf("%d", counter[0]);
system("pause");
}