void FlatTextarea::onDocumentContentsChange(int position, int charsRemoved, int charsAdded) { if (!_links.isEmpty()) { bool changed = false; for (LinkRanges::iterator i = _links.begin(); i != _links.end();) { if (i->first + i->second <= position) { ++i; } else if (i->first >= position + charsRemoved) { i->first += charsAdded - charsRemoved; ++i; } else { i = _links.erase(i); changed = true; } } if (changed) emit linksChanged(); } if (_replacingEmojis || document()->availableRedoSteps() > 0) return; const int takeBack = 3; position -= takeBack; charsAdded += takeBack; if (position < 0) { charsAdded += position; position = 0; } if (charsAdded <= 0) return; _insertions.push_back(Insertion(position, charsAdded)); }
int main( int argc, const char* argv[] ){ arbre a = arbreVide(); arbre b = arbreVide(); arbre c = arbreVide(); arbre d = arbreVide(); arbre e = arbreVide(); arbre f = arbreVide(); arbre g = arbreVide(); //int vide = EstArbreVide(a); b = Construire(2, c, d); e = Construire(3, f, g); a = Construire(5, b, e); //element racine = Racine(a); ParcoursPref(a); printf("\n"); Insertion(10,a); ParcoursPref(a); printf("\n"); //printf("est arbre vide : %d\n",vide); //printf("racine : %d\n",racine); //printf("est arbre vide : %d\n",vide); return EXIT_SUCCESS ; }
void driver( enum sort atype, int *array, int elements, int random, int delay_factor ) { switch( atype ) { /* 所有排序算法 */ case all : /* 冒泡排序 */ case bubble : Setscreen( array, elements, random ); gprintf( &xaxis, &yaxis, *(sorts + bubble) ); Bubble( array, elements, delay_factor ); if ( atype != all ) break; else delay( 1350 ); /* 延迟交换排序 */ case delayed: Setscreen( array, elements, random ); gprintf( &xaxis, &yaxis, *(sorts + delayed) ); Delayed( array, elements, delay_factor ); if ( atype != all ) break; else delay( 1350 ); /* 希尔排序 */ case shell : Setscreen( array, elements, random ); gprintf( &xaxis, &yaxis, *(sorts + shell )); Shell( array, elements, delay_factor ); if ( atype != all ) break; else delay( 1350 ); /* Metzner希尔排序 */ case shell_metzner: Setscreen( array, elements, random ); gprintf( &xaxis, &yaxis, *(sorts + shell_metzner) ); Shell_Metzner( array, elements, delay_factor ); if ( atype != all ) break; else delay( 1350 ); /* 快速排序 */ case quick : Setscreen( array, elements, random ); gprintf( &xaxis, &yaxis, *(sorts + quick) ); Quicksort( array, 0, elements - 1, delay_factor ); if ( atype != all ) break; else delay( 1350 ); /* 插入排序 */ case insertion: Setscreen( array, elements, random ); gprintf( &xaxis, &yaxis, *(sorts + insertion) ); Insertion( array, elements, delay_factor ); if ( atype != all ) break; else delay( 1350 ); /* 停止 */ case stop: default:; } }
void FlatTextarea::onDocumentContentsChange(int position, int charsRemoved, int charsAdded) { if (_replacingEmojis || document()->availableRedoSteps() > 0) return; const int takeBack = 3; position -= takeBack; charsAdded += takeBack; if (position < 0) { charsAdded += position; position = 0; } if (charsAdded <= 0) return; _insertions.push_back(Insertion(position, charsAdded)); }
int main() { int source[SIZE]; FILE *file1; int i; int result; file1 = fopen("./source.txt", "r"); for (i = 0; i < SIZE; i++) fscanf(file1, "%d", &source[i]); // notice the // type fclose(file1); Insertion(source, SIZE); for (i = 0; i < SIZE; i++) { printf("%d ", source[i]); } printf("\n"); result = search(source, SIZE, 342); printf("the result is:%d\n", result); return 0; }
int main(void) { int i, count=0; int sort, order, size, tmp; int *a; char row[100], name[100]; data_t d; FILE *fp; printf("ファイル名:"); scanf("%s", name); fp=fopen(name,"r"); if (fp==NULL) { printf("can't open a file\n"); exit(1); } a = (int *)malloc(sizeof(int)*100); tmp = 100; while(fgets(row, sizeof(row), fp) != NULL) { a[count] = atoi(row); count++; if (count == tmp) { a = (int *)realloc(a, sizeof(int)*(tmp+100)); tmp += 100; } } fclose(fp); printf("| バブルソート : 1, 選択ソート : 2, 挿入ソート : 3 | "); scanf("%d", &sort); printf("| 昇順 : 1, 降順 : 2 | "); scanf("%d", &order); if (sort == 1) { if (order == 1) { d = Bubble(a, count, 1); } else { d = Bubble(a, count, 0); } } else if (sort == 2) { if (order == 1) { d = Selection(a, count, 1); } else { d = Selection(a, count, 0); } } else { if (order == 1) { d = Insertion(a, count, 1); } else { d = Insertion(a, count, 0); } } printf("結果:\n"); for (i=0; i<count; i++) { printf("%2d ", a[i]); if ((i+1)%20==0) printf("\n"); } printf("\n\n"); printf("CPUタイム %.7lfs\n交換回数 %d回\n", d.prTime, d.num); free(a); }
void main(){ int menu,i,j,x,imp,a; int k = 1; char f[20],p[20],m[20]; struct arvore *raiz = (struct arvore *)malloc(sizeof(struct arvore)); //Alocando memória dinâmica para a raiz da árvore raiz->pai = NULL; raiz->mae = NULL; raiz->grau = k; printf("Digite a primeira entrada para a arvore genealogica (formato filho_pai_mae):\n "); setbuf(stdin, NULL); //limpa o buffer do teclado scanf("%s",f); scanf("%s",p); scanf("%s",m); strcpy(raiz->nome,f); k = Insertion(raiz,f,p,m,k); //Atualizou o valor do k int exit = 0; while (exit ==0){ printf("\nDigite:\n\n"); printf("1 para inserir uma entrada na arvore genealogica\n\n"); printf("2 para determinar grau de parentesco\n\n"); printf("3 para imprimir\n\n"); printf("4 para sair\n\n "); scanf("%d",&menu); switch(menu){ case 1: printf("Digite o numero de entradas a serem inseridas: "); scanf("%d", &a); for(i=1;i<=a;i++){ printf("Digite %d-a entrada (formato filho_pai_mae) a ser inserida: ",i); scanf("%s",f); scanf("%s",p); scanf("%s",m); k = Insertion(raiz,f,p,m,k); } break; case 2: printf("Digite os dois nomes para a comparacao (formato nome_nome): "); scanf("%s",f); scanf("%s",p); printf("O grau de parentesco eh de: %d\n",Parentesco(raiz,f,p)); break; case 3: printf("\nDigite: \n\n1 para imprimir a arvore por geracao\n\n"); printf("2 para imprimir a arvore em LABELLED BRACKETING\n\n"); printf("3 para imprimir antepassados de um individuo\n\n "); scanf("%d",&imp); if(imp==1){ for(i=1;i<=k;i++){ //Imprime até a última geração começando da raiz ImpGeracaoCocaCola(raiz,i); printf("\n"); } } if(imp==2){ ImpLabel(raiz); } if(imp==3){ printf("Digite o nome cujos antepassados serao impressos: "); scanf("%s",&m); x = search(raiz,m)->grau; //Geração do individuo m for(j=x;j<=k;j++){ //Imprime até a última geração começando da geração do individuo selecionado ImpGeracaoCocaCola(raiz,j); printf("\n"); } } if(imp!=1&&imp!=2&&imp!=3){ printf("Numero nao pertencente ao menu\n"); } break; case 4: exit = 1; break; default: printf("Numero nao pertencente ao menu\n"); } } free(raiz); }
void main(){ int menu,i,imp,a; int k = 1; char f[20],p[20],m[20]; struct arvore * raiz = (struct arvore *) malloc(sizeof(struct arvore)); raiz->pai = NULL; raiz->mae = NULL; raiz->grau = k; printf("Digite a primeira entrada para a arvore genealogica (formato filho_pai_mae):\n"); scanf("%s",&f); scanf("%s",&p); scanf("%s",&m); strcpy(raiz->nome,f); Insertion(raiz,f,p,m,k); int exit = 0; while (exit ==0){ printf("Digite 1 para inserir, 2 para grau de parentesco, 3 para imprimir, 4 para sair: "); scanf("%d",&menu); switch(menu){ case 1: printf("Digite o numero de entradas (formato filho_pai_mae) a serem inseridas:\n"); scanf("%d", &a); for(i=1;i<=a;i++){ printf("Digite %d-a entrada a ser inserida: ",i); char f1[20],p1[20],m1[20]; scanf("%s",&f1); scanf("%s",&p1); scanf("%s",&m1); Insertion(raiz,f1,p1,m1,k); } break; case 2: printf("Digite os dois nomes para a comparacao (formato nome_nome):\n"); char f[20],p[20]; scanf("%s",&f); scanf("%s",&p); printf("O grau de parentesco eh de: %d\n",Parentesco(raiz,f,p)); break; case 3: printf("Digite 1 para imprimir a arvore por geracao, 2 para imprimir a arvore em LABELLED BRACKETING, 3 para imprimir antepassados de um individuo:\n"); scanf("%d",&imp); if(imp==1){ ImpGeracaoTotal(raiz,k); } if(imp==2){ ImpLabel(raiz); } if(imp==3){ printf("Digite o nome cujos antepassados serao impressos:\n"); scanf("%s",&m); ImpGeracaoTotal(search(raiz,m),k); } if(imp!=1&&imp!=2&&imp!=3){ printf("Numero nao pertencente ao menu\n"); } break; case 4: exit = 1; break; default: printf("Numero nao pertencente ao menu\n"); } } }
int main (int argc, char **argv){ system("mkdir Resultat 2> /dev/null"); printf ("#########################################################################\n"); printf ("# TEST DU CHARGEMENT DE L'IMAGE #\n"); printf ("#########################################################################\n"); chargerImage("./source.jpg"); if (!img) { printf("Chargement de l'image : Non\n"); return EXIT_FAILURE; } else printf("# #\n"); printf("# Chargement de l'image : OK #\n"); printf("# #\n"); printf ("#########################################################################\n"); printf ("# TEST DU CHARGEMENT DU LOGO #\n"); printf ("#########################################################################\n"); chargerLogo(2,"./logo.jpg"); if (!Logo) { printf("Chargement du logo : Non\n"); return EXIT_FAILURE; } else printf("# #\n"); printf("# Chargement du logo : OK #\n"); printf("# #\n"); int N=4; //définition de la taille des blocs pour la DCT a=0.72; pas=115; NWB=(Logo->width)*(Logo->height); int p[3]; p[0]=CV_IMWRITE_JPEG_QUALITY; p[1]=100; p[2]=0; bloc=alocamd(N,N); // Allocation des blocs blocT=alocamd(N,N); // Allocation des blocs transformés /** Génération de la clef, de la marque, insertion du tatouage et enregistrement de l'image tatouée **/ Insertion (img, N, p); /** Détection de la marque et récupération du logo **/ detectionMarque(N); //Détection des blocs marqués cvWaitKey(0); cvDestroyAllWindows(); cvReleaseImage(&img); cvReleaseImage(&Logo); dalocd(bloc,N); dalocd(blocT,N); freevi(posx); freevi(posy); freevd(key); return EXIT_SUCCESS; }