Ir ao conteúdo

C O meu programa em c ta dando erro e n sei como resolver


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

<Code>

Eu fiz esse codigo de ordenação:

# include <stdio.h>
# include <locale.h>
# include <stdbool.h>

# define TAM 11

int vet[TAM] = {330, 108, 383, 362, 269, 175, 276, 301, 387, 422, 328};

void selection_sort(int v[TAM], int n);

void main (void){
    setlocale(LC_ALL, "Portuguese");
    printf("------------------------------------Exercício 1------------------------------------\n");
    printf("-----------------------Ordenando o vetor crescente com seleção-----------------------\n");
    printf("Vetor sem seleção: ");
    imprimir();
    printf("\n\n");
    selection_sort(vet, TAM);
    printf("\n");
    printf("Vetor com seleção: ");
    imprimir();
    
}

void selection_sort(int v[TAM], int n) { // Ordenação crescente
    int i, j, min, aux, contador=0;
    for (i = 0; i < (TAM-1); i++){
        contador++;
        min = i;
        for (j = (i+1); j < n; j++) {
            if(v[j] < v[min])
            min = j;
            }
        if (v[i] != v[min]) {
            aux = v[i];
            v[i] = v[min];
            v[min] = aux;
        }
        printf("Seleção %d: ", contador);
        imprimir();
        printf(" Os valores trocados foram: %d e %d", v[min], v[i]);
        printf("\n");
    }
}

void imprimir(){
    int i;    
    for(i = 0;i < TAM;i++){
        if(i!=TAM) printf("%d\t-\t",vet[i]);
        else printf("%d",vet[i]);
    }
}

 

porém ao executar da esse erro e n sei como resolver: 

image.thumb.png.889ece315c79ae7293c019a832ad4388.png

  • Solução
Postado

@Guic     Qual erro você se refere ?  ,

erro_111.jpg.ede24b83045901e59d71be67bb6a673c.jpg

pois está marcado de azul não é o erro ,  e sim o que está escrito em laranja ,

 

por você não criou o protótipo da função imprimir ,  lá em cima , antes da main ,

# include <stdio.h>
# include <locale.h>
# include <stdbool.h>
# define TAM 11
int vet[TAM] = {330, 108, 383, 362, 269, 175, 276, 301, 387, 422, 328};
void imprimir();
void selection_sort(int v[TAM], int n);
void main (void){
    setlocale(LC_ALL, "Portuguese");

e você está usando variáveis Globais ,  e elas funcionam bem , mas não é boa prática fazer assim  . melhor criar o vetor dentro da função main e enviar o vet por parâmetro para a função imprimir ,

    selection_sort(vet, TAM);
    printf("\n");
    printf("Vetor com seleção: ");
    imprimir(vet);
    return 0;
}

 

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!