Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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);

}
Exemplo n.º 3
0
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;
    }
}
Exemplo n.º 4
0
void main()
{
    int vetor[TAMANHO];
    alimentar(vetor);
    ordenar(vetor);
    exibir(vetor);
}
Exemplo n.º 5
0
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");
}
Exemplo n.º 7
0
Arquivo: Ej1.c Projeto: FacuToro/lab
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;    
    

}
Exemplo n.º 8
0
int main(){
    int a = 1, b = 3, c = 2;
    
    ordenar(&a, &b, &c);
    printf("%d %d %d \n", a, b, c);
    return 0;
}
Exemplo n.º 9
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();
}
Exemplo n.º 11
0
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;
   }
}
Exemplo n.º 12
0
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);
}
Exemplo n.º 13
0
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);
}
Exemplo n.º 14
0
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");
}
Exemplo n.º 15
0
    //@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));
    }
Exemplo n.º 16
0
int main(){
	tListaAlquiler listaAlquiler;
	tListaCoches listaCoches;
	
	leerModelos(listaCoches);
	leerAlquileres(listaAlquiler);
	ordenar(listaAlquiler);
	mostrar (listaAlquiler, listaCoches);
	system("pause");	
	return 0;
}
Exemplo n.º 17
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;
}
Exemplo n.º 18
0
int main(void) {
	remove("hola.out");
	listavacia();
	listade1();
	listademas();
	selvacia();
	selllena();
	listadesels();
	ordenar();
	map();
	filtrar();
	generar();
	
    return 0;
} 
Exemplo n.º 19
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;
}
Exemplo n.º 20
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;
}
Exemplo n.º 22
0
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;
}
Exemplo n.º 23
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;
}
Exemplo n.º 24
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");
}
Exemplo n.º 25
0
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);
}
Exemplo n.º 26
0
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 ();
}
Exemplo n.º 27
0
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);
    }
}
Exemplo n.º 28
0
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;
}
Exemplo n.º 29
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;
}
Exemplo n.º 30
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;
}