void newcommand(){ HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); int y, delcolor = BACKGROUND_BLUE | BACKGROUND_INTENSITY, yellow = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; SetConsoleTextAttribute(hConsole, delcolor); deleting(16); for(y = 17; y < 25; y++){ deleting(y); } baseprint(2, 16, yellow); }
int changeenter2(int n, int m){ int color = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; char temp[50]; baseprint(2, 21, color); printf("Enter b [0 ; %i] : ", m - 1); baseprint(2, 22, color); while(scanf("%s", temp) != 1 || isNumber(temp) == 0 || atoi(temp) > m - 1 || atoi(temp) < 0){ fflush(stdin); baseprint(2, 23, color); printf(" ERROR, try again!"); deleting(22); baseprint(2, 22, color); } deleting(23); return atoi(temp); }
int randomenter2(void){ int color = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; char temp[50]; baseprint(2, 21, color); printf("Enter b [-100 ; 100] : "); baseprint(2, 22, color); while(scanf("%s", temp) != 1 || isNumber(temp) == 0 || atoi(temp) > 100 || atoi(temp) < -100){ fflush(stdin); baseprint(2, 23, color); printf(" ERROR, try again!"); deleting(22); baseprint(2, 22, color); } deleting(23); return atoi(temp); }
int main(){ srand(time(NULL)); container *cHead = NULL, *cTail = NULL, *cCurrent = NULL; int numCnt = 0, choice = 0; init(&cHead, numCnt, &cTail); write(cHead); do{ system("cls"); printf("Main menu:\n"); printf("1. Show contents of all containers\n"); printf("2. Open container\n"); printf("3. Add container\n"); printf("4. Delete container\n"); printf("5. Save\n"); printf("6. Exit\n"); scanf("%d", &choice); system("cls"); switch (choice){ case 1: contents(cHead); printf("Press any key for return to main menu...\n"); getch(); break; case 2: CntMenu(&cHead, numCnt); break; case 3: if (cHead == NULL) cHead = new container; else if (cTail == NULL){ cTail = new container; cHead->next = cTail; } else{ cCurrent = new container; cTail->next = cCurrent; cTail = cCurrent; } numCnt++; printf("Container #%d successfully added\n", numCnt); printf("Press any key for return to main menu...\n"); getch(); break; case 4: deleting(&cHead, numCnt, &cTail); printf("Press any key for return to main menu...\n"); getch(); break; case 5: write(cHead); printf("Saving is successful\n"); printf("Press any key for return to main menu...\n"); getch(); break; } } while (choice != 6); return 0; }
void Pin::keyPressEvent(QKeyEvent *event) { if (event->matches(QKeySequence::Delete)) { hide(); emit deleting(); delete this; } }
int firstEnter2(void){ int color = BACKGROUND_GREEN | BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY; int b = 0; char temp[50]; baseprint(25, 8, color); printf("Enter b [1 ; 10] : "); baseprint(25, 9, color); while(scanf("%s", temp) != 1 || isNumber(temp) == 0 || atoi(temp) > 10 || atoi(temp) < 1){ fflush(stdin); baseprint(25, 10, color); printf(" ERROR, try again!"); deleting(9); baseprint(25, 9, color); } deleting(10); return atoi(temp); }
int changeenter1(int n, int m){ int color = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; char temp[50]; baseprint(2, 18, color); printf("Replace the element [a][b] with value c"); baseprint(2, 19, color); printf("Enter a [0 ; %i] : ", n - 1); baseprint(2, 20, color); while(scanf("%s", temp) != 1 || isNumber(temp) == 0 || atoi(temp) > n - 1 || atoi(temp) < 0){ fflush(stdin); baseprint(2, 21, color); printf(" ERROR, try again!"); deleting(20); baseprint(2, 20, color); } deleting(21); return atoi(temp); }
int firstEnter1(void){ char temp[50]; int color = BACKGROUND_GREEN | BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY; baseprint(25, 4, color); printf("Matrix size is a*b."); baseprint(25, 5, color); printf("Enter a [1 ; 10] : "); baseprint(25, 6, color); while(scanf("%s", temp) != 1 || isNumber(temp) == 0 || atoi(temp) > 10 || atoi(temp) < 1){ fflush(stdin); baseprint(25, 7, color); printf(" ERROR, try again!"); deleting(6); baseprint(25, 6, color); } deleting(7); return atoi(temp); }
void elementsSum(int n, int m, int mat[n][m]){ int i, sum = 0, indM, color = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; char temp[50]; baseprint(2, 18, color); printf("Enter the index of column [0 ; %i] : ", m - 1); baseprint(2, 19, color); while(scanf("%s", temp) != 1 || isNumber(temp) == 0 || atoi(temp) > m - 1 || atoi(temp) < 0){ fflush(stdin); baseprint(2, 20, color); printf(" ERROR, try again!"); deleting(19); baseprint(2, 19, color); } deleting(20); indM = atoi(temp); for(i = 0; i < n; i++){ sum = sum + mat[i][indM]; } baseprint(2, 20, color); printf("Sum of the specified column elements is : %i", sum); }
int changeenter3(void){ int x, color = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; char temp[50]; baseprint(42, 19, color); printf("Enter c [-50 ; 50] :"); baseprint(42, 20, color); while(scanf("%s", temp) != 1 || isNumber(temp) == 0 || atoi(temp) > 50 || atoi(temp) < -50){ fflush(stdin); baseprint(42, 21, color); printf(" ERROR, try again!"); for(x = 42; x < 80; x++){ baseprint(x, 20, color); printf(" "); } baseprint(42, 20, color); } deleting(21); return atoi(temp); }
~TempRecoveryUnitSwap() { boost::scoped_ptr<RecoveryUnit> deleting(_txn->releaseRecoveryUnit()); _txn->setRecoveryUnit(_oldRecoveryUnit); }
void CntMenu(container **cHead, int numCnt){ int choice, number; container *n = NULL; printf("Enter number of container for opening. Total amount of containers: %d\n", numCnt); scanf("%d", &number); if (number > numCnt || number < 1){ printf("Incorrect number. Error opening\n."); return; } n = (*cHead); for (int i = 0; i < number - 1; i++){ n = n->next; } printf("Container #%d opened succesfull\n", number); printf("Press any key to continue\n"); getch(); box *bHead = n->head, *bTail = n->tail, *bCurrent = NULL; do{ system("cls"); printf("Container #%d menu:\n", number); printf("1. Show contents of all boxes\n"); printf("2. Open box\n"); printf("3. Add box\n"); printf("4. Delete box\n"); printf("5. Back to main menu\n"); scanf("%d", &choice); system("cls"); switch (choice){ case 1: contents(bHead); printf("Press any key for return to main menu...\n"); getch(); break; case 2: boxMenu(&bHead, n->qtBoxes, number); break; case 3: if (bHead == NULL) bHead = new box; else if (bTail == NULL){ bTail = new box; bHead->next = bTail; } else{ bCurrent = new box; bTail->next = bCurrent; bTail = bCurrent; } n->qtBoxes++; printf("Box #%d successfully added\n", n->qtBoxes); printf("Press any key for return to container menu...\n"); getch(); break; case 4: deleting(&bHead, n->qtBoxes, &bTail); printf("Press any key for return to container menu...\n"); getch(); break; } } while (choice != 5); }
int command(int n, int m, int mat[n][m]){ int pink = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_INTENSITY, green = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_INTENSITY, yellow = BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY; int command = 0, y; char s[50]; baseprint(2, 15, pink); printf("Please, enter your command :"); while(command != 2){ baseprint(2, 16, yellow); scanf("%s", s); fflush(stdin); if(strcmp(s,"help") == 0){ command = 1; } else if(strcmp(s,"end") == 0){ command = 2; } else if(strcmp(s,"null") == 0){ command = 3; } else if(strcmp(s,"random") == 0){ command = 4; } else if(strcmp(s,"change") == 0){ command = 5; } else if(strcmp(s,"flipH") == 0){ command = 6; } else if(strcmp(s,"mean") == 0){ command = 7; } else if(strcmp(s,"sum") == 0){ command = 8; } else if(strcmp(s,"change1") == 0){ command = 9; } else if(strcmp(s,"change2") == 0){ command = 10; } else if(strcmp(s,"change3") == 0){ command = 11; } else{ command = 0; baseprint(2, 17, pink); printf(" ERROR, try again!"); deleting(16); baseprint(2, 16, pink); getch(); } deleting(17); switch (command){ case 1: help(); getch(); break; case 2: end(); break; case 3: null(n, m, mat); break; case 4: random(n, m, mat); break; case 5: elchange(n, m, mat); break; case 6: flipH(n, m, mat); break; case 7: meanValue(n, m, mat); getch(); break; case 8: elementsSum(n, m, mat); getch(); break; case 9: elementsChange1(n, m, mat); break; case 10: elementsChange2(n, m, mat); break; case 11: columnChange(n, m, mat); break; case 0: break; } newcommand(); } }
int file_run(FILE* data) { product* work_product = NULL; char *file_menu[] = { "Show file data;\n", "Add record;\n", "Edit record;\n", "Sort records;\n", "Delete record;\n", "Save & close the file;\n" }; char menu_symb[] = "0"; char work_name[NAM_LEN + 1]; int work_line = 0; int menu_count = 0; int incorrect_choice = 1; int exit = 0; do { incorrect_choice = 1; system("clear"); for(menu_count = 0; menu_count < 6; menu_count++) printf("%d) %s", menu_count + 1, file_menu[menu_count]); printf("Input the number of menu item:\n"); while(incorrect_choice) { menu_symb[0] = getche(); if(!strpbrk(menu_symb, "123456")) printf("Unknown value: %c; repeat the choice\n", menu_symb[0]); else incorrect_choice = 0; } switch(menu_symb[0]) { case '1': { file_read(data); } break; case '2': { work_product = product_input(); if(work_product) { sorted_insert(data, work_product); product_destroy(work_product); } } break; case '3': { puts("Input the name of the product to edit:"); string_input(stdin, NAM_LEN, work_name, 0); work_line = name_find(data, work_name); if(!work_line) alert("\tNo such product;"); else { work_product = product_read(data, work_line); deleting(data, work_line); product_update(work_product); product_write(data, work_line, work_product); product_destroy(work_product); } } break; case '4': { } break; case '5': { puts("Input the name of the product to delete:"); string_input(stdin, NAM_LEN, work_name, 0); work_line = name_find(data, work_name); if(!work_line) alert("\tNo such product;"); else deleting(data, work_line); } break; case '6': { file_close(data); exit = 1; } break; } }while(!exit); return menu_symb[0] - '0'; }
int main(int argc, char *argv[]){ // Options char *in_filename = NULL; // 問題ファイル名 char *out_filename = NULL; // 出力解答ファイル名 char *fix_filename = NULL; // 固定セル情報ファイル名 int outer_loops = O_LOOP; // 外ループ回数 bool fixed = false; // 固定フラグ // Options 取得 struct option longopts[] = { {"loop", required_argument, NULL, 'l'}, {"fixfile", required_argument, NULL, 'x'}, {"output", required_argument, NULL, 'o'}, {"fix-flag", no_argument, NULL, 'f'}, {"version", no_argument, NULL, 'v'}, {"help", no_argument, NULL, 'h'}, {0, 0, 0, 0} }; int opt, optidx; while ((opt = getopt_long(argc, argv, "l:o:fvh", longopts, &optidx)) != -1) { switch (opt) { case 'l': outer_loops = atoi(optarg); break; case 'x': fix_filename = optarg; break; case 'o': out_filename = optarg; break; case 'f': fixed = true; break; case 'v': version(); case 'h': case ':': case '?': default: usage(); } } if (argc <= optind) { usage(); } in_filename = argv[optind]; assert(in_filename != NULL); clock_t start_time, finish_time; start_time = clock(); initialize(in_filename); // 問題盤の生成 printBoard(); // 問題盤の表示 // 固定セルの生成 (機械学習の結果に基づく) if (fix_filename != NULL) { setFixFlagFromFile(fix_filename); printFixFlag(); } // 固定フラグの生成 else if (fixed) { generateFixFlag(); printFixFlag(); } // 乱数の初期化 mt_init_genrand((unsigned long)time(NULL)); // ペナルティの初期化 penalty_T = 0; penalty_C = 0; // 初期ルーティング for(int i=1;i<=board->getLineNum();i++){ // 数字が隣接する場合スキップ if(board->line(i)->getHasLine() == false) continue; if(!routing(i)){ cerr << "Cannot solve!! (error: 1)" << endl; exit(1); } } for(int i=1;i<=board->getLineNum();i++){ // 数字が隣接する場合スキップ if(board->line(i)->getHasLine() == false) continue; recording(i); } // 中間ポートを利用するか? // 利用している間,ライン不通過回数をカウントしない bool use_intermediate_port = false; // 中間ポートに設定するマスとそれを利用する数字 int inter_x, inter_y, inter_line = -1; // 探索スタート!! for (int m = 2; m <= outer_loops + 1; m++) { // 外ループ if(!use_intermediate_port){ // 中間ポートを利用しない場合 if ((m - 1) % 100 == 0) { cout << "loop " << (m-1) << endl; } if(m>INIT){ resetCandidate(); } } else{ // 中間ポートを利用する場合 if ((m - 1) % 100 == 0) { cout << "loop " << (m-1) << "+" << endl; } } // 解導出フラグ bool complete = false; for (int n = 1; n <= I_LOOP; n++) { // 内ループ if (INIT < m && !use_intermediate_port){ checkLineNonPassed(); } // 問題のおいて数字が隣接していないラインを選択する int id; do { id = (int)mt_genrand_int32(1, board->getLineNum()); } while (board->line(id)->getHasLine() == false); //cout << "(" << m << "," << n << ")Re-route Line" << id << endl; // 経路の削除 deleting(id); // ペナルティの設定 penalty_T = (int)(NT * (mt_genrand_int32(0, m - 1))); penalty_C = (int)(NC * (mt_genrand_int32(0, m - 1))); // 中間ポートを利用しない場合 if ( !((board->line(id))->isIntermediateUsed()) ) { // 経路の探索 if ( !routing(id) ) { cerr << "Cannot solve!! (error: 2)" << endl; // 失敗したらプログラム終了 exit(2); } // 経路の記録 recording(id); } // 中間ポートを利用する場合 else { // 経路の探索 (INTTRY 回) bool success = false; for (int count = 0; count < INTTRY; count++) { if (routingSourceToI(id)) { success = routingIToSink(id); break; } } // 中間ポート利用に失敗した場合,通常経路探索した後に内ループ脱出 if ( !success ) { if ( !routing(id) ) { cerr << "Cannot solve!! (error: 3)" << endl; // 失敗したらプログラム終了 exit(3); } recording(id); break; } // 経路の記録 recording(id); } // 終了判定(解導出できた場合,正解を出力) if(isFinished()){ finish_time = clock(); printSolution(); if (out_filename != NULL) { printSolutionToFile(out_filename); cout << "--> Saved to " << out_filename << endl << endl; } cout << "SUMMARY" << endl; cout << "-------" << endl; cout << " - filename: " << in_filename << endl; cout << " - size: " << board->getSizeX() << " x " << board->getSizeY() << endl; cout << " - iterations: " << (m - 1) << endl; cout << " - CPU time: " << ((double)(finish_time - start_time) / (double)CLOCKS_PER_SEC) << " sec" << endl; complete = true; break; } } if(complete) break; // 正解出力後は外ループも脱出 // 中間ポートを使用した次のループでは,中間ポートを利用しない if(use_intermediate_port){ use_intermediate_port = false; board->line(inter_line)->setIntermediateUnuse(); continue; } // 不通過マスの調査->中間ポートを利用するか? int candidate_count = 0; // 候補数 inter_x = -1; inter_y = -1; for(int y=0;y<board->getSizeY();y++){ for(int x=0;x<board->getSizeX();x++){ Box* trgt_box = board->box(x,y); if(trgt_box->isCandidate()){ candidate_count++; //cout << "(" << x << "," << y << ")"; // 不通過マス } } } //cout << endl; if(candidate_count==0) continue; // 候補数0なら利用しない // 候補の中から中間ポートに設定するマスをランダムに選択 int c_d = (int)mt_genrand_int32(0, candidate_count - 1); // 選択は候補の中で何番目か? int n_d = 0; // 何番目なのかをカウントする用の変数 bool flag = false; // 二重ループのためフラグが必要 for(int y=0;y<board->getSizeY();y++){ for(int x=0;x<board->getSizeX();x++){ Box* trgt_box = board->box(x,y); if(!trgt_box->isCandidate()){ continue; } if(n_d==c_d){ flag = true; inter_x = x; inter_y = y; break; } n_d++; } if(flag) break; } // 中間ポートの四方を見て,中間ポートを利用する数字をランダムに選択 checkCandidateLine(inter_x,inter_y); // 候補となるラインを調査 candidate_count = 0; // 候補数 inter_line = -1; for(int i=1;i<=board->getLineNum();i++){ Line* trgt_line = board->line(i); if(trgt_line->isCandidate()){ candidate_count++; //if(candidate_count>1) cout << ", "; //cout << i; } } //cout << endl; if(candidate_count==0) continue; // 候補数0なら利用しない c_d = (int)mt_genrand_int32(0, candidate_count - 1); // 選択は候補の中で何番目か? n_d = 0; // 何番目なのかをカウントする用の変数 for(int i=1;i<=board->getLineNum();i++){ Line* trgt_line = board->line(i); if(!trgt_line->isCandidate()) continue; if(n_d==c_d){ inter_line = i; break; } n_d++; } //cout << "Set (" << inter_x << "," << inter_y << ") InterPort of Line " << inter_line << endl; Line* line_i = board->line(inter_line); line_i->setIntermediateUse(); line_i->setIntermediatePort(inter_x,inter_y); use_intermediate_port = true; // m--; // 使うかどうか思案中・・・ // ペナルティ更新(旧) //penalty_T = (int)(NT * m); //penalty_C = (int)(NC * m); } // 解導出できなかった場合 if(!isFinished()){ for(int i=1;i<=board->getLineNum();i++){ printLine(i); } cerr << "Cannot solve!! (error: 4)" << endl; exit(4); } //デバッグ用 //for(int y=0;y<board->getSizeY();y++){ //for(int x=0;x<board->getSizeX();x++){ //cout << "(" << x << "," << y << ") "; //Box* trgt_box = board->box(x,y); //cout << " N:" << trgt_box->getNorthNum(); //cout << " E:" << trgt_box->getEastNum(); //cout << " S:" << trgt_box->getSouthNum(); //cout << " W:" << trgt_box->getWestNum(); //cout << endl; //} //} //for(int i=1;i<=board->getLineNum();i++){ // calcCost(i); //} delete board; return 0; }
void PhysicConstraintWidget::deleteConstraint() { emit deleting(this); }
void ServerInfo::emitDeleting() { emit(deleting(this)); }
//! Call the deleting destructor void call_deleting(Class * const ptr){ deleting(ptr); }