void ordenar(data array[], int n) { int pivote = n - 1; data aux; int i = 0, j = pivote - 1; if (n <= 1) return; while (i <= j){ if (array[i] > array[pivote] && array[j] < array[pivote]){ aux = array[i]; array[i] = array[j]; array[j] = aux; i++; j--; } if (array[i] <= array[pivote]) i++; if (array[j] >= array[pivote]) j--; } aux = array[i]; array[i] = array[pivote]; array[pivote] = aux; ordenar(array, i); ordenar(&array[i], n - i); }
int ordenar_vector(sExpedients *e, sAsigatures *a) { int exp_asig=0; do{ printf("Esculli un contenidor de dades per ordenar: "); printf("1:Expedients"); printf("2:Asignatures"); printf("3:Sortir"); scanf("%d",&exp_asig); switch(exp_asig){ case 1: //N-1 o N-2 ordenar(e); break; case 2: //N-1 o N-2 ordenar(a); break; case 3: break; default:printf("Opcio incorrecta"); } }while(exp_asig=!3); }
void ordenar(Lista* lista){ if(lista->next != NULL){ if(lista->next->comp_val < lista->comp_val){ int aux = lista->next->comp_val; lista->next->comp_val = lista->comp_val; lista->comp_val = aux; ordenar(lista->next); } else { ordenar(lista->next); } } else { return; } }
void main() { int vetor[TAMANHO]; alimentar(vetor); ordenar(vetor); exibir(vetor); }
int main() { int minutos[CANT]; int h, m; int a, b; int nuevo[CANT]; int tam; clrscr(); cargar(minutos, CANT, TOPE); printf("Vector original:\n"); mostrar(minutos, CANT); ordenar(minutos, CANT); printf("Vector ordenado:\n"); mostrar(minutos, CANT); pasarHM(minutos[0], &h, &m); printf("\n%d equivale a %d:%d", minutos[0], h, m); extremos(minutos, CANT, &a, &b, 3*60, 4*60); printf("\nInteresan las posiciones %d - %d", a, b); tam = eliminar(minutos, CANT, a, b, nuevo); if (tam > 0) { printf("Vector original con menos elementos:\n"); mostrar(minutos, CANT-tam); printf("Vector nuevo:\n"); mostrar(nuevo, tam); }else printf("\nNo pudo eliminarse nada"); getch(); return EXIT_SUCCESS; }
main(){ int t, i, j, d; printf("Entre com o tamanho do vetor desejado :"); scanf("%d",&t);//pega um número e associa ao tamanho do vetor int V[t]; int Vaux[t];//criei um vetor auxiliar para armazenar as frequências que cada elemento aparece printf("Agora entre com os numeros que compoe esse vetor e \ndevolveremos os elementos que aparecem mais vezes \n"); for(i=1; i<=t ; i++){//pega 1 por 1 os elementos do vetor printf("Elemento %d : \n", i); scanf("%d", &V[i]); } ordenar(V, t);//ordena o vetor principal for(i=1;i<=t;i++){/*laço de repetição que define o elemento Vaux[i] do vetor auxiliar como sendo a frequência em que o elemento V[i] aparece no vetor principal*/ d = 0; for(j=1;j<=t;j++){ if(V[i] == V[j]){ d++; } } Vaux[i]=d; } i = seleciona(Vaux, t);// chama a função que seleciona o maior elemento e faz i ser igual a ele printf("A maior frequencia obtida foi %d e os numeros que fornecem essa \nfrequencia sao : ", i ); //imprime a maior frequência imprimir(Vaux, V, t, i);//chama a função que imprime todos os elementos que ocorrem na maior frequência scanf("%d"); }
int main (int argc, char **argv){ int sample[SIZE]= {0,9,8,2,2,2,5,9,5,0,3,2,3,7}; int arreglo_aux[SIZE]={}; int m,i, cont; cont= rep (&sample[0], &arreglo_aux[0]); ordenar (&arreglo_aux[0], cont); printf ("Original: "); for (i=0; i<SIZE; i++){ printf ("%d - ", sample[i]); } printf ("\n\n"); printf ("Ordenado y sin repetir: "); for (m=0; m<cont; m++){ printf ("%d - ", arreglo_aux[m]); } printf ("\n"); return 0; }
int main(){ int a = 1, b = 3, c = 2; ordenar(&a, &b, &c); printf("%d %d %d \n", a, b, c); return 0; }
int main(){ lista *L1 = malloc(sizeof(lista)); L1->primero = malloc(sizeof(nodo)); agregaNodo(6, L1); agregaNodo(1, L1); agregaNodo(2, L1); agregaNodo(3, L1); agregaNodo(4, L1); agregaNodo(8, L1); //mostrar(L1); lista *L2 = malloc(sizeof(lista)); L2->primero = malloc(sizeof(nodo)); agregaNodo(9, L2); agregaNodo(10, L2); agregaNodo(11, L2); agregaNodo(12, L2); agregaNodo(13, L2); agregaNodo(14, L2); //mostrar(L2); printf("\n"); ordenar(L1, L2); printf("\n"); mostrar(L1); printf("\n"); //mostrar(L2); return 0; }
void main() { int vector[TAMANO]; //Vector para almacenar la muestra cout<< "Prueba de Rendimiento por Camilo Nova - 20022020090" << endl; cout<< "\nOrdenamiento por Burbuja" << endl; //Recopilamos los datos de la muestra CANT++; //La asignacion de la variable i for(int i=0; i < TAMANO; i++) { CANT += 2; //La comparacion y el incremento de la variable cout<< "\nDigite el elemento " << (i+1) << ":\t"; cin>> vector[i]; CANT++; //La asignacion del elemento a vector[i] } ordenar(vector); //Llamamos a la funcion para ordenar la muestra cout<< "\nLos elementos ordenados son: "; //Mostramos los datos ordenados for(int m=0; m < TAMANO; m++) cout<< vector[m] << " "; cout<< "\n\nLa cantidad de instrucciones ejecutadas son:\t" << CANT << endl; cin.get(); cin.get(); }
void menu(){ int seleccion; clrscr(); printf("1.- Crear vector numerico de 10 elementos: "); printf("\n2.- Ordenar vector: "); printf("\n3.- Insertar un elemento: "); printf("\n4.- Borrar un elemento: "); printf("\n5.- Buscar un elemento: "); printf("\n6.- Visualizar lista: \n"); scanf("%d",&seleccion); switch (seleccion){ case 1: crear(); break; case 2: ordenar(); break; case 3: insertar(); break; case 4: borrar(); break; case 5: buscar(); break; case 6: visualizar(); break; } }
void calcularFreq(FILE *fp, struct nodo **raiz) { BYTE buf[BUF_SZ]; int nbytes, cont; struct nodo *n; rewind(fp); *raiz=NULL; do { nbytes=fread(buf, 1, BUF_SZ, fp); if (ferror(fp)) { perror("fread: calcularFreq()"); exit(1); } for (cont=0; cont < nbytes; cont++) { if ((n=yaInsertado(*raiz, buf[cont]))) n->freq++; else *raiz=insertar(*raiz, buf[cont]); } } while (!feof(fp)); *raiz=ordenar(*raiz); }
void ordenar(carro **inicio,int n2){ int n; carro *aux2,*aux=*inicio; aux2=*inicio; int cont=0,aux3,AUX_ID=0; if(n2==0) return ; while(aux2!=NULL){ if(n2==cont){ if(aux->pessoas > aux2->pessoas){ aux3=aux->pessoas; aux->pessoas=aux2->pessoas; aux2->pessoas=aux3; AUX_ID=aux->identificador; aux->identificador=aux2->identificador; aux2->identificador=AUX_ID; } aux=aux->prox; cont=0; aux2=aux; } aux2=aux2->prox; cont++; } return ordenar(&*inicio,n2/2); }
void ordem(carro **inicio,int contador){ carro *aux=*inicio; int n2=4; if(contador>n2) ordenar(&*inicio,n2); else if(contador>n2/2) ordenar(&*inicio,n2/2); ordenar(&*inicio,n2=1); printf("Ordenado Shellsort : "); while(aux!=NULL){ printf("%d ",aux->pessoas); aux=aux->prox; } printf("\n\n"); }
//@tests void tests(){ cerr << "#open selection_sort PRATA IF FOR" << endl; vector<int> v1 ({1}); vector<int> v2 ({2,1}); vector<int> v3 ({5,4,3,2,1}); vector<int> v4 ({1,9,2,8,3,7,5, 6, 4}); vector<int> teste1 ({1}); vector<int> teste2 ({1,2}); vector<int> teste3 ({1,2,3,4,5}); vector<int> teste4 ({1,2,3,4,5,6,7,8,9}); cerr << (teste1 == ordenar(v1)); cerr << (teste2 == ordenar(v2)); cerr << (teste3 == ordenar(v3)); cerr << (teste4 == ordenar(v4)); }
int main(){ tListaAlquiler listaAlquiler; tListaCoches listaCoches; leerModelos(listaCoches); leerAlquileres(listaAlquiler); ordenar(listaAlquiler); mostrar (listaAlquiler, listaCoches); system("pause"); return 0; }
int main(void){ int n=10; int v[10]={3,5,1,8,3,5,78,64,45,900}; int x = ordenar(v,n); int i; for(i=0; i<n;i++) printf("%d\n",v[i]); printf("\nMenor: %d\n",x); getch(); return 0; }
int main(void) { remove("hola.out"); listavacia(); listade1(); listademas(); selvacia(); selllena(); listadesels(); ordenar(); map(); filtrar(); generar(); return 0; }
int main() { int n=5; tipo_dato elementos[n]; inicializar(elementos,n); printf("En un principio:\n"); listar(elementos,n); iniciarCuentaTiempo(); ordenar(elementos,n); terminarCuentaTiempo(); printf("Al final:\n"); listar(elementos,n); imprimirCuentaTiempo(); return 0; }
int main (int argc, char *argv[]){ char ** lista = NULL; char buffer[TAM]; char aux; int num = 0, tam = 0; bool seguir = true; system("clear"); system("figlet Lista ordenada"); do{ printf("\nIntroduce una palabra: "); scanf(" %s", buffer); num ++; tam = strlen(buffer) + 1; lista = (char **) realloc (lista, num * sizeof(char*)); lista[num -1]= (char *) malloc (tam); strncpy(lista[num-1], buffer, tam); printf("\n¿Quieres introducir otra palabra? (y/n)"); scanf(" %c", &aux); if(aux == 'y') seguir = true; else seguir = false; }while(seguir == true); ordenar(num, lista); printf("\n\n-------------------\n LISTA ORDENADA DE PALABRAS \n ------------------- \n"); for (int i=0; i<num; i++) printf("%i.- %s \n", i+1, *(lista+i)); for(int i=0; i<num; i++) free(lista[i]); free(lista); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { char **lista; int n_palabras = 0; lista = rellena(&n_palabras); ordenar(lista, n_palabras); /* Output */ for (int i=0; i<n_palabras; i++) printf("%s\n", lista[i]); /* Limpieza */ for(int i=0; i<n_palabras; i++) free(lista[i]); free(lista); return EXIT_SUCCESS; }
int main() { int indice,n=5; tipo_clave clave=20; //tipo_clave clave=25; //descomentar este y ver que pasa Persona profesores[n]; inicializar(profesores,n); printf("Registros en un principio:\n"); listar(profesores,n); iniciarCuentaTiempo(); ordenar(profesores,n); terminarCuentaTiempo(); printf("Registros al final:\n"); listar(profesores,n); imprimirCuentaTiempo(); printf("Buscando clave %d...\n",clave); indice=busquedaBinaria(profesores,n,clave); if (indice==n){ printf("No se encontro %d en el arreglo y si se quisiera insertar uno nuevo, seria al final",clave); } else if (profesores[indice].clave==clave){ printf("Se encontro %d en el indice %d\n",clave,indice); } else{ printf("No se encontro y la posicion donde lo insertaria es %d\n",indice); } pausar(); char cad[15]; printf("ahora con elementos repetidos\n"); profesores[2].clave=20; strcpy(profesores[2].nombre,"Luis "); strcat(profesores[2].nombre,itoa(20, cad, 10)); strcat(profesores[2].nombre,"o."); listar(profesores,n); indice=busquedaBinaria(profesores,n,clave); if (indice==n){ printf("No se encontro %d en el arreglo y si se quisiera insertar uno nuevo, seria al final",clave); } else if (profesores[indice].clave==clave){ printf("Se encontro %d en el indice %d\n",clave,indice); } else printf("No se encontro y la posicion donde lo insertaria es %d\n", indice); return 0; }
int main(){ t_lista pl; t_info pd; puts("CREANDO LISTA... \n"); crear_lista(&pl); pd.num = 4; printf("INSERTANDO %d ... \n",pd.num); //insertarEnOrden(&pl, &pd, comparar); insertarAdelante(&pl, &pd); //insertarAlFinal(&pl, &pd); pd.num = 1; printf("INSERTANDO %d ... \n",pd.num); //insertarEnOrden(&pl, &pd, comparar); //insertarAdelante(&pl, &pd); insertarAlFinal(&pl, &pd); pd.num = 2; printf("INSERTANDO %d ... \n",pd.num); //insertarEnOrden(&pl, &pd, comparar); insertarAdelante(&pl, &pd); //insertarAlFinal(&pl, &pd); printf("\nLISTA VACIA?: %s\n", listaVacia(&pl)==1?"SI":"NO"); puts("LISTANDO... \n"); listar(&pl); ordenar(&pl, comparar); puts("LISTANDO... \n"); listar(&pl); puts("\nELIMINANDO EL 4... \n"); pd.num = 4; eliminarDeListaNoOrdenada(&pl, &pd, comparar); puts("LISTANDO... \n"); listar(&pl); return 0; }
void leer(int * vec, int * tam) { printf("Introduzca el tamaño del arreglo a leer: "); scanf(" %d",tam); if(*tam > MAX_TAM || *tam < 1) { printf("Error: Se ha introducido un valor inválido, el tamaño se ha truncado a %d.\n",MAX_TAM); } for(int i = 0; i < *tam; i++) { printf("Introduzca el valor para la posición [%d]: ",i+1); scanf(" %d",&vec[i]); } printf("Se procede a ordenar el arreglo...\n"); ordenar(vec,*tam); printf("Fin de la lectura del arreglo.\n"); }
void ler(FILE *fr, char nome[]) { int l,i; ///fscanf(fr, "%d\n", &l); //lê o numero de linhas fread(&l, sizeof(int), 1, fr); //lê o numero de linhas Valores *vet = (Valores *) malloc (l * sizeof(Valores)); for (i = 0; i< l; i++) { //fscanf(fr, "%c %d %f\n",&vet[i].c, &vet[i].inteiro, &vet[i].real);//\n pra desconsiderar na leitura do arquivo fread(&vet[i].c, sizeof(char), 1, fr); fread(&vet[i].inteiro, sizeof(int), 1, fr); fread(&vet[i].real, sizeof(float), 1, fr); } ordenar(vet,l,fr,nome); }
void main (void) { float t[N][4]; int c, op; clrscr (); cargar (t, N); listar (t, N); do { printf ("0.-fin 1.-minima 2.-máxima 3.-media 4.-dif opcion: "); scanf ("%d", &op); ordenar (t, N, op - 1); listar (t, N); } while (op); getch (); }
void ordenar(int *a, int *b, int *c){ int temp; if(!((*a > *b) && (*b > *c))){ if(*a < *b){ temp = *a; *a = *b; *b = temp; } if(*b < *c){ temp = *b; *b = *c; *c = temp; } ordenar(a, b, c); } }
int main(){ int arreglo[TAM]={2,1,5,6,7,3,8,9,9,10}; int i,j; ordenar(arreglo,TAM); imprimir(arreglo,TAM); for(i=0;i<TAM;i++){ for(j=i+1;j<TAM;j++){ if(arreglo[i]==arreglo[j]){ printf("Se repite %d\n",arreglo[i]); } } } return 0; }
int main(){ struct nodo *lista; int val; lista = inicializar(); printf("ordenamiento burbuja en listas"); while(1){ printf("ingresa un dato \n ingresa -1 si no queires mas datos"); scanf("%d",&val); if(val == -1) break; insertar_al_final(lista,val); } printf("antes de ordenar: "); imprimir_lista(lista); ordenar(lista); printf("despues de ordenado: "); imprimir_lista(lista); return 0; }
int main() { int a, b, c; printf("Informe o valor de 'a': "); scanf("%d", &a); printf("Informe o valor de 'b': "); scanf("%d", &b); printf("Informe o valor de 'c': "); scanf("%d", &c); if(ordenar(&a, &b, &c)) printf("\nOs valores das três variáveis são iguais."); else imprimirNaTela(&a, &b, &c); return 0; }