//LEER void MainWindow::leer(){ QString fileName = QFileDialog::getOpenFileName(this,tr("Save Bolas"), ".",tr("Bolas files (*.txt)")); if(fileName.isEmpty()){ return; }else{ lectura(fileName); return; } }
void run(std::string miDireccion, std::string direccionRemota) { Buffer buffer; Envio escritura(direccionRemota, &buffer); Recepcion lectura(miDireccion, &buffer); std::thread tWrite(escritura); std::thread tRead(lectura); tWrite.join(); tRead.join(); }
int32_t hiloEjecucionCPU(t_HiloCPU* paramsCPU) { log_info(MemoriaLog,"Esperando pedidos de Cpu \n"); int32_t codigoOperacion; codigoOperacion = recibirCodigoOperacion(paramsCPU->cpuSocket); if(codigoOperacion==-1) { log_error(MemoriaLog, RED"No se recibió correctamente el código de operación\n"RESET); return EXIT_FAILURE; } while(codigoOperacion!=0) { switch(codigoOperacion) { case codigo_iniciar: iniciar(paramsCPU->cpuSocket, paramsCPU->swapSocket); break; case codigo_finalizar: finalizar(paramsCPU->cpuSocket, paramsCPU->swapSocket); break; case codigo_leer: lectura(paramsCPU->cpuSocket, paramsCPU->swapSocket); break; case codigo_escribir: escritura(paramsCPU->cpuSocket, paramsCPU->swapSocket); break; } codigoOperacion = recibirCodigoOperacion(paramsCPU->cpuSocket); if(codigoOperacion==-1) { log_error(MemoriaLog, RED"No se recibió correctamente el código de operación\n"RESET); return EXIT_FAILURE; } } if(codigoOperacion==0){ log_info(MemoriaLog, "Se desconectó un CPU\n"); bool PorCerrado(sock_t* socket){ return socket->fd==0; } int32_t veces = list_count_satisfying(CPUsConectados,(void*)PorCerrado); int32_t it; for(it=0; it<veces; it++){ list_remove_and_destroy_by_condition(CPUsConectados, (void*)PorCerrado, (void*)clean_socket); } }
//--------------------------------------------------------------------------- void main(void) { double x[Maxec]={0},x0[Maxec]={0},b[Maxec]={0}; double a[Maxec][Maxec+1]={0},s,eps; int y,i,j,k,n; Boolean valver=False; char c,cad[25]={0}; clrscr(); gotoxy(30,1);cout<<"M‚todo de Gauss Seidel"; gotoxy(1,5);cout<<"N£mero de ecuaciones "; do{ cin>>n; if (n>6) cout<<"El sistema debe tener menos de 6 ecuaciones por cuestiones \nde impresion en pantalla\nGracias"; cout<<"\n\nN£mero de ecuaciones "; }while(n>6); lectura(a,x,b,n); clrscr(); textcolor(14); gotoxy(10,12); cprintf("Si la solucion no converge, presione ESC para terminar"); textcolor(10); gotoxy(1,24); cprintf("Presione ENTER para continuar..."); textcolor(7); enter(); k=0; y=4; eps=1e-5; clrscr(); textcolor(10); gotoxy(30,1);cout<<"M‚todo de Gauss Seidel"; textcolor(14); gotoxy(45,24);cprintf("Presione una tecla para continuar..."); textcolor(15); gotoxy(4,2);printf("k x1 x2 x3 x4 x5 x6"); do{ for(i=0;i<n;i++) x[i]=x0[i]; for(i=0; i<n; i++) { s=0; for(j=0; j<n; j++) if((i-j)!=0) s=s+a[i][j]*x0[j]; x0[i]=(b[i]-s)/a[i][i]; } for(i=0; i<n; i++) { sprintf(cad,"%.4f",x[i]); x[i]=atof(cad); sprintf(cad,"%.4f",x0[i]); x0[i]=atof(cad); } for(i=0; i<n; i++) { if(fabs(x0[i]-x[i]) > eps) valver=False; else valver=True; } k++; if (k>ITERA) c=27; gotoxy(2,y);cout<<k; for(i=0; i<n; i++) { gotoxy(8+i*11,y);printf("%5.4f",x0[i]); } y++; c=getch(); if(y>22) { y=4; clrscr(); textcolor(10); gotoxy(30,1);cout<<"M‚todo de Gauss Seidel"; textcolor(14); gotoxy(45,24);cprintf("Presione una tecla para continuar..."); textcolor(15); gotoxy(4,2);printf("k x1 x2 x3 x4 x5 x6"); } if (k>ITERA) c=27; }while(!(valver==True||c==27)); textcolor(15); cout<<"\n"; cprintf("DESPUES DE %d ITERACIONES",k); cout<<"\n"; cprintf("LA SOLUCION DEL SISTEMA ES : \n"); printf("\n"); for(i=0; i<n; i++) cprintf(" x(%d) = %10.4f",i+1,x0[i]),cout<<"\n"; getch(); }
int main() { ArrayList* lista = al_newArrayList(); ArrayList* repetidos = al_newArrayList(); ArrayList* depurados = al_newArrayList(); int opcion; char string[20]; do { printf("MENU:\n"); printf("1.-Parsear\n"); printf("2.-Completar\n"); printf("3.-Listar\n"); printf("4.-Guardar\n"); printf("5.-Salir\n"); scanf("%d", &opcion); system("cls"); switch(opcion) { case 1: lectura(lista); imprimirTodos(lista); break; case 2: completarLetra(lista); imprimirTodos(lista); break; case 3: printf("Ingrese una palabra: "); fflush(stdin); fgets(string, 20, stdin); filtrarRepetidos(lista, repetidos, string); repetidos->sort(repetidos, comparar, 1); imprimirTodos(repetidos); getchar(); filtrarDepurados(lista, depurados, string); depurados->sort(depurados, comparar, 0); imprimirTodos(depurados); break; case 4: escritura(lista, "completo.csv"); escritura(repetidos, "repetidos.csv"); escritura(depurados, "depurados.csv"); break; case 5: printf("Programa finalizado\n"); break; default: printf("Opcion invalida\n"); break; } } while(opcion != 5); return 0; }
void *threadLectura(void *arg) { struct rusage *usage = (struct rusage *)arg; lectura(usage); pthread_exit(0); }
int main() { short numevento = 0, mapactual, numlink, numitems = 0, mov, bat; char **map; bool updatemap = true; // Usado para determinar cuándo hay que refrescar la pantalla. bool update = false; // Usado para determinar cuándo hay que buscar una batalla. STRUCTpos VISION, tamMapa = { 0 }; STRUCTgraph graph; STRUCTcontroles controles; STRUCTpersonaje personaje; STRUCTeventos *evento; STRUCTitem *items; STRUCTlink *puertas; srand(time(0)); setlocale(LC_CTYPE, "Spanish"); mapactual = 0; // Mapa a cargar por defecto. inicializacion(&numitems, &VISION, &graph, &controles, &personaje, &items, &mapactual); //Inicialización de variables. intromenu(&items, controles, &personaje, &mapactual); // Menú de introducción (Nuevo juego, Cargar partida...). lectura(&numevento, &mapactual, &numlink, &tamMapa, &map, &evento, &puertas); // Primera lectura del mapa. do // Bucle principal. { bat = rand() % 25; if (bat == 0 && update == true) { batalla(numitems, controles, &personaje, items); updatemap = true; } if (updatemap == true) display(evento, VISION, tamMapa, graph, &personaje, map, numevento, mapactual); mov = movimiento(numevento, map, &controles, &personaje, evento); switch (mov) // El valor devuelto por la función movimiento determina si el personaje se ha movido a un terreno normal, a una puerta o se ha pulsado el menú. { case 1: // El personaje se ha movido a una puerta. if ((busquedaPuerta(&mapactual, &numlink, &personaje, puertas)) == 1) // Se busca la puerta de enlace y se asigna como actual el mapa de destino. { free(evento); updatemap = true; lectura(&numevento, &mapactual, &numlink, &tamMapa, &map, &evento, &puertas); // Se lee el mapa al que lleva la puerta. } else error(2, mapactual); break; case 2: // El personaje ha abierto el menú update = false; updatemap = true; pjmenu(controles, &personaje, items, mapactual, graph, VISION); break; case 3: // El personaje ha abierto el menú de administrador. update = false; updatemap = true; adminmenu(&VISION, &graph, &controles, &personaje); break; case 4: update = false; updatemap = false; break; case 5: update = false; updatemap = true; break; case 6: update = true; updatemap = true; break; default: // El personaje se ha movido a un terreno normal. break; } } while (1); }