void ft_move_lemmins(t_room **rooms, t_best_route *best, t_lemmin *lemmin) { int tot_lem; t_room *end; t_room *start; t_lemmin *first_lem; t_best_route *best_start; best_start = best; end = find_end(rooms); start = find_start(rooms); first_lem = lemmin; tot_lem = start->num_of_lem; mv_start(first_lem, best, rooms); ft_putstr("\n"); while (end->num_of_lem < tot_lem) { mv_play(first_lem, best, rooms); mv_start(first_lem, best, rooms); ft_putstr("\n"); } }
void Process_reference_string(char* reference_string, int npages, int nframes) { int page; int *frame = (int*)malloc(sizeof(int)); printf("MV_START: %d pages, %d frames\n\n",npages,nframes); mv_start(npages, nframes); int page_faults = 0; int i = 0; while(reference_string[i] != '\0') { page = reference_string[i] - '0'; int hit = (mv(page,frame) == 0); if(!hit) { page_faults = page_faults + 1; printf("MISS: requested page: %d was put in frame: %d\n",page,*frame); } else { printf("HIT: requested page: %d was in frame: %d\n",page,*frame); } i++; } printf("\nFrames final state:\n"); for(i = 0; i < nframes; i++) { if(frames[i]->page != NULL) printf(" frame %d -> page %d\n",i,(frames[i]->page)->id); else printf(" frame %d -> EMPTY\n",i); } mv_stop( ); printf("\n-----------------------------------------------------------------\n"); }