ciao a tutti, ho il libro di Deitel&Deitel sul C, e fra gli esercizi per i puntatori c'è questo esercizio qui:
http://books.google.it/books?id=Jz9z...page&q&f=false (a pagina 292)
ho scritto il programma ma non so però come farlo con i puntatori, cioè non so come potrebbero essere utilizzati in questo contesto... questo è il codice che ho scritto:
codice:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void){
char tartaruga[70]={0};
char lepre[70]={0};
int curT=0;
int curL=0;
int T=0,L=0;
int count;
srand(time(NULL));
for(curT=0,curL=0;curT<=69||curL<=69;){
T=1+(rand()%10);
L=1+(rand()%10);
//mosse tartaruga
if(T>=1&&T<=5){
tartaruga[curT]=0;
tartaruga[curT+3]='T';
curT+=3;
}
if(T>=6&&T<=7){
if(curT-6>=0){
tartaruga[curT]=0;
tartaruga[curT-6]='T';
curT-=6;
}
else{
tartaruga[curT]=0;
tartaruga[0]='T';
curT=0;
}
}
if(T>=8&&T<=10){
tartaruga[curT]=0;
tartaruga[curT+1]='T';
curT+=1;
}
//mosse lepre
if(L>=1&&L<=2){
continue;
}
if(L>=3&&L<=4){
lepre[curL]=0;
lepre[curL+9]='L';
curL+=9;
}
if(L==5){
if(curL-12>=0){
lepre[curL]=0;
lepre[curL-12]='L';
curL-=12;
}
else{
lepre[curL]=0;
lepre[0]='L';
curL=0;
}
}
if(L>=6&&L<=8){
lepre[curL]=0;
lepre[curL+1]='L';
curL+=1;
}
if(L>=9&&L<=10){
if(curL-2>=0){
lepre[curL]=0;
lepre[curL-2]='L';
curL-=2;
}
else{
lepre[curL]=0;
lepre[0]='L';
curL=0;
}
}
if(curT<0) curT=0;
if(curL<0) curL=0;
for(count=0;count<70;count++){
printf("%c",tartaruga[count]);
}
printf("\n");
for(count=0;count<70;count++){
printf("%c",lepre[count]);
}
if(curT>=69||curL>=69) break;
else {
sleep(1);
system("cls");
}
}
if(curT>=69){
printf("\nHa vinto la tartaruga!\n");
}
if(curL>=69){
printf("\nHa vinto la lepre!\n");
}
return 0;
}
qualche consiglio su come sfruttare i puntatori?