Ir ao conteúdo
  • Cadastre-se
Natal junio

C RESOLVIDO Algoritmo de Ordenação c

Posts recomendados

preciso que o programa me mostre a quantidade de trocas feitas no vetor, e a maior sequencia de números impares (Se houver), alguém pra ajudar?

 

 

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define tam 10

int main()
{
 int numeros[tam];
 
 int i, aux, contador;
printf("Entre com dez números para o vetor: \n");
 for (i = 0; i < tam; i++) {
 scanf("%d", &numeros);
 }
printf("Ordem do vetor:\n");
for (i = 0; i < tam; i++) {
 printf("%4d", numeros);
}

 for (contador = 1; contador < tam; contador++) {
   for (i = 0; i < tam - 1; i++) {
     if (numeros < numeros[i + 1]) {
       aux = numeros;
       numeros = numeros[i + 1];
       numeros[i + 1] = aux;
     }
   }
 }
printf("\n Ordem Decrescente do vetor: \n");
for (i = 0; i < tam; i++) {
 printf("%4d", numeros);
}
printf("\n");
return 0;
}

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite! Se é uma exercício posto seu enunciado para que assim dê a possibilidade de uma discussão mais precisa do problema

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Natal junio     você Quer fazer a ordenação decrescente ? ,  o segundo for de ordenar está com um erro , pois o    i   precisa começar do valor do primeiro for mais hum , pois senão ele vai apenas mover todos os números , sem  fazer nenhuma ordenação , e para contar a quantidade de trocas use esse contador que você declarou lá no início ,  e para postar seu código é melhor usar o botão   <> 

1065000446_barradeferramentas.jpg.1d42831855b4ec9357ab112f7f0b3793.jpg

 

que está desenhado lá na barra de ferramentas da janela de postar , pois senão seu código fica faltando alguns caracteres como os   { i } que sumiram do seu código ,   e  para pegar a maior sequência  use dois vetores para armazenar sequências e faça comparações até ver qual é a maior ,  e então seu código com algumas modificações poderia ser assim  :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define tam 10
#include <windows.h>
#define H GetStdHandle(STD_OUTPUT_HANDLE)
VOID textcolor_2(int l, int f){SetConsoleTextAttribute(H,l+(f<<4));}
int main(){
    int numeros[tam];
    int j,i,aux,contador=0;
    textcolor_2(14,0);
    printf("Entre com dez números para o vetor:\n");
    textcolor_2(11,0);
    for(i=0; i<tam; i++){
        scanf("%d",&numeros[i]);
    }
    textcolor_2(10,12);
    printf("  Ordem do vetor :  \n");
    textcolor_2(11,0);
    for(i=0; i<tam; i++){
        printf("%4d ",numeros[i]);
    }
    printf("\n\n");
    for(i=0; i<tam-1; i++){
        for(j=i+1; j<tam; j++){
            if( numeros[j] > numeros[i]){/* Aqui Que Determina Crescente Ou Decrescente , Invertendo O Sinal < Ou > */
                aux        = numeros[j] ;
                numeros[j] = numeros[i] ;
                numeros[i] = aux        ;
                contador++              ;
            }
        }
    }
    textcolor_2(14,0);
    printf("\n Ordem Decrescente do vetor: \n");
    textcolor_2(10,12);
    for(i=0; i<tam; i++){
        printf("%4d ",numeros[i]);
    }
    printf("\n\n");
    textcolor_2(12,14);
    printf("  Numero De Trocas -> %d  s\n",contador);
    return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara obrigado, me ajudou muito.

Não reparei também com minha variáveis que sumiu.

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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...

Eletrônica

PROMOÇÃO DE QUARENTENA

Aproveite o isolamento social para aprender eletrônica!
De R$ 39,90 por apenas R$ 19,90
Só até as 23h59min desta sexta-feira 10/04/2020

CLIQUE AQUI E COMPRE AGORA MESMO!