Ir ao conteúdo

Posts recomendados

Postado

Gente, eu queria fazer com que o contador só somasse até a ordenação, mas mesmo depois que já está ordenado ele continua contando, alguém pode me ajudar ?


 

#include <stdio.h>



int main()
{
    // foram definidas as variáveis//
    int vetor[100], x =0, y=0, aux=0;
    int n;
    int cont=0;

    // scanf para determinar a quantidade lida
    scanf("%d",&n);

// faz o vetor = auxiliar
    for( x = 0; x < n; x++ )
    {
        scanf("%d",&aux);
        vetor[x] = aux;
    }

    // faz a ordem decrescente
    for( x = 0; x < n; x++ )

    {


        for( y = x + 1; y < n; y++ )

        {


            if ( vetor[y] > vetor[x] )
            {
                cont++;
                aux = vetor[y];
                vetor[y] = vetor[x];
                vetor[x] = aux;


            }

        }
    }

    // exibe os elementos ordenados
    for( x = 0; x < n; x++ )
    {
        printf("%d\n",vetor[x]); // exibe o vetor ordenado

    }
    // printa quantas vezes percorreu
    printf("%d\n", cont);

    return 0;
}

 

Postado

@Leanderson Pinheiro    testei seu código e ele está contando certo  ,  o numero de vezes que trocou os numeros no vetor :

#include <stdio.h>
int main()
{
    // foram definidas as variáveis//
    int vetor[100], x =0, y=0, aux=0;
    int n;
    int cont=0;
    // scanf para determinar a quantidade lida
    printf("digite hum numero inteiro ");
    scanf("%d",&n);
// faz o vetor = auxiliar
    for( x = 0; x < n; x++ )
    {
        scanf("%d",&aux);
        vetor[x] = aux;
    }
    // faz a ordem decrescente
    for( x = 0; x < n; x++          )
    {
        for( y = x + 1; y < n; y++  )
        {
            if ( vetor[y] > vetor[x])
            {
                cont++;
                aux      = vetor[y] ;
                vetor[y] = vetor[x] ;
                vetor[x] =      aux ;
            }
        }
    }
    // exibe os elementos ordenados
    for( x = 0; x < n; x++ )
    {
        printf("%d\n",vetor[x]); // exibe o vetor ordenado
    }
    // printa quantas vezes percorreu
    printf("\tTotaL de Trocas %d .\n\n\n\n", cont);
    return 0;
}

 

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!