int counter::operator()(int n) { int r = 0; for (int i = 2; i < n; ++i) { if (circular(i)) ++r; } return r; }
void main() { int gd=DETECT,gm; initgraph(&gd,&gm,"C:\\TURBOC3\\BGI"); // line(200,200,400,400); circular(200,200,50,20,6,360); getch(); closegraph(); }
int main(void) { int len=0; int cir=0; char str[1000]={'\0'}; printf("문장을 입력해주세요 : "); scanf("%s", &str); len=strlen(str); if(circular(str,len)==0) printf("%s는 회문이 아닙니다.\n",str); else printf("%s는 회문입니다.\n",str); return 0; }
int distanceFast(const Location& from, const Location& to, const Location& resolution) { return circular(from.row, to.row,resolution.row) + circular(from.col, to.col, resolution.col); }
int main() { double sa = circular(buf); //printf("%f\n", sa); }
bool TLB::tercer_caso(int nro_pagina) { // no quedan entradas desocupadas en la TLB contador_de_fallos++; // contado de fallos de la tlb EntradaTP* aux = tabla_pagina->get_entrada(nro_pagina); //solamente para q entre //i, lo debemos cambiar por un puntero que recorra cirulamente la tlb int lru_tlb = circular(); int lru_tp = (tabla_pagina->puntero_LRU) % tabla_pagina->tamano; //caso Npv= y entradaTP.V=1 // este es el caso en que la pagina virtual esta mapeada a la memoria fisica pero no esta en la TLB if (aux->V == 1 /*&& aux->R==0*/) // tabla de pagina tiene marco de pagina { aux->R = 1; entradas[lru_tlb].Nmp = aux->Nmp; entradas[lru_tlb].V = 1; entradas[lru_tlb].R = 1; entradas[lru_tlb].Npv = nro_pagina; // std::cout << "FUNCION TERCER CASO" << std::endl; return true; } tabla_pagina->contador_de_fallos++;//contador de fallos de la Tabla de pagina if(tabla_pagina->cantidad_marcos_disponibles > 0) { aux->Nmp = tabla_pagina->marco_actual; aux->V = 1; aux->R = 1; entradas[lru_tlb].Nmp = aux->Nmp; entradas[lru_tlb].V = 1; entradas[lru_tlb].R = 1; entradas[lru_tlb].Npv = nro_pagina; //std::cout << "FUNCION TERCER CASO" << std::endl; return true; } int contador_penca=0; // se busca una entrada que tenga bit valido 1 para quitarle el marco de pagina while (tabla_pagina->entrada[lru_tp].V == 0 || tabla_pagina->entrada[lru_tp].R == 1) { contador_penca++; lru_tp = tabla_pagina->circular_LRU(); // cada avance no cuenta como fallo //consideramos como un fallo de pagina, cuando se reemplaza } // cout << "contador_penca"<< contador_penca <<endl; // caso V=1 y R=1 //invalidamos entraba en tabla de pagina aux->Nmp = tabla_pagina->entrada[lru_tp].Nmp; aux->V = 1; aux->R = 1; entradas[lru_tlb].Nmp = aux->Nmp; entradas[lru_tlb].V = 1; entradas[lru_tlb].R = 1; entradas[lru_tlb].Npv = nro_pagina; tabla_pagina->entrada[lru_tp].V = 0; tabla_pagina->entrada[lru_tp].R = 1; // std::cout << "FUNCION TERCER CASO" << std::endl; return true ; // no deberia nunca retonar falso //std::cout << "RETORNA FALSO" << std::endl; return false; }