Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

websano

Ordenar vetor de fila estática...

Recommended Posts

Olá pessoal, procurei por minha dúvida mas não encontrei uma que se encaixasse em meu problema

Tenho um algoritmo de fila estática que: Insere, Remove e Imprime o vetor

Preciso que ao imprimir o vetor os valores inseridos sejam ordenados do menor para o maior ex. 5 8 1 7 4 = 1 4 5 7 8

 

Agradeço dese já:

#include <stdio.h>
#define TAM 5
 
typedef struct{
    int id;
}reg;
int inicio = -1;
int fim = -1;
 
void inserir(reg *);
void imprimir(reg *);
void remover(reg *);
 
int main(){
    // MENU DE opções
    reg vet[TAM];
    int op;
    do{
        printf("\nMENU\n");
        printf("1...........inserir \n");
        printf("2...........imprimir\n");
        printf("3...........remover \n");
        printf("4...........sair    \n");
        scanf("%d", &op);
        switch (op) {
        case 1:
            inserir(vet);
            break;
        case 2:
            imprimir(vet);
            break;
        case 3:
            remover(vet);
            break;
        default:
            break;
        }
    }while(op!=4);
 
    return 0;
}
 
void inserir(reg *vet){
   system ("cls");
    if(fim == TAM-1)
        printf("Vetor cheio! \n");
    else{
        if(inicio == -1)
            inicio++;
        printf("Informe um valor: \n");
        scanf("%d", &vet[++fim].id);
        system ("cls");
        printf("Valor inserido");
    }
}
 
 
void imprimir(reg *vet){
    system ("cls");
    if(fim > -1){
        int i = 0;
        for(i=inicio; i<=fim; i++){
            printf("%d   ", vet[i].id);
        }
    }else
        printf("Vetor vazio! \n");
}
 
 
void remover(reg *vet){
    if(fim > -1){
        printf("Removido registro na posicao: %d \n", fim);
        printf("Idade: %d\n", vet[fim].id);
        fim--;
        if(fim == -1)
            inicio--;
        }else
        printf("Vetor vazio! \n");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro usar a função qsort.

 

É a forma mais prática de alcançar seu objetivo (cumprir o requisito do trabalho e ganhar a nota).

Mais educativo seria concluir que é melhor armazenar tudo já ordenado, fazendo com que as inserções respeitassem uma ordem total.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.