Programa que simula el comportamiento de una entidad que se mueve al azar en el plano.
#include <stdio.h> #include <stdlib.h> #include <time.h> #define IZQUIERDA 0 #define DERECHA 1 #define ARRIBA 2 #define ABAJO 3 #define QUIETO 4 #define NUM_PASOS 10 int main() { int PosX = 0; /* Posisión X */ int PosY = 0; /* Posición Y */ int Contador, D; double distancia; srand(time(NULL)); /* Inicializa generador aleatorio */ D=rand()/(RAND_MAX/10); for(Contador = 0; Contador < NUM_PASOS; Contador++) { switch(rand()/(RAND_MAX/5)) /* Sortea una dirección */ { case IZQUIERDA: PosX=PosX-D; printf("Posicion X: %d, Posicion Y: %d \n\n",PosX, PosY); break; case DERECHA: PosX=PosX+D; printf("Posicion X: %d, Posicion Y: %d \n\n",PosX, PosY); break; case ARRIBA: PosY=PosY+D; printf("Posicion X: %d, Posicion Y: %d \n\n",PosX, PosY); break; case ABAJO: PosY=PosY-D; printf("Posicion X: %d, Posicion Y: %d \n\n",PosX, PosY); break; } } distancia = sqrt(PosX*PosX+PosY*PosY); printf("PosX: %d, PosY: %d\n", PosX, PosY); printf("Distancia: %lf\n", distancia); return 0; }