Ir ao conteúdo
  • Cadastre-se

C Bubble sort programação em c


Sérgio Forte

Posts recomendados

Bom dia @Sérgio Forte

 

Nós não podemos escrever o código para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo algum código que você já tenha feito.

 

Se puder postar o código que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D 

Link para o comentário
Compartilhar em outros sites

#include<stdio.h>

main()
{
unsigned int tab[100];
unsigned int c1,troca=1,i,n;
printf("Quantos numeros quer ordenar?\n");
scanf("%d",&n);

for(c1=0;c1<n;c1++)
{
  printf("Introduza o %uº numero para ordenar", c1+1);
  scanf("%u",&tab[c1]);
}
while (troca!=0)
{
  troca=0;
  for (c1=0;c1<n;c1++)
   {
     if (tab[c1]>tab[c1+1])
      {
        troca++;
        i=tab[c1];
        tab[c1]=tab[c1+1];
        tab[c1+1]=i;
      }
   }
}
printf("Os numero ordenados sao: " );
for (c1=1;c1<n;c1++)
 printf("%u,", tab[c1]);
 printf("\b e %u.",tab[c1]);
 return 0;
}

 

Este foi o que fiz, mas queria por obedecesse às instruções que digo em cima. Obrigado

Link para o comentário
Compartilhar em outros sites

A função rand() faz parte da biblioteca stdlib.h então deve incluí-la no programa para usá-la. E também é necessário usar srand(time(NULL)) uma vez no começo do programa para gerar uma semente para o gerador de números aleatórios, e como a função time() faz parte da biblioteca time.h também precisa incluir essa biblioteca.

 

#include <stdlib.h>
#include <time.h>
 
int main(void)
{
    srand(time(NULL)); //usar no começo do programa, ou ao menos 1 vez antes de usar rand()
    int num;
.
.
.
    num = rand() % 1001;
.
.
.
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Obrigado pela vossa ajuda, mas agora tenho outra dúvida, conseguem-me descobrir onde tenho o erro de maneira a que me imprima os valores gerados, por ordem crescente? Bem Haja

 

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int i, j, n=512, vet[n], aux;
    char menu;
    do
    {
    printf("1 - Preencher\n");
    printf("2 - Ordene pela ordem crescente\n");
    printf("3 - Ordene pela ordem decrescente\n");
    printf("4 - Apresentar em linhas\n");
    printf("5 - Apresentar em colunas\n");
    printf("6 - Sair\n");
    fflush(stdout);
    scanf( " %c",&menu);
  switch(menu){
        //Criaçao da Array com valores variaveis
        case '1':
        for(i=0;i<n;i++)
            {
            vet=rand()%1000;
            printf("vet[%d] = %d\n",i,vet);
            }
        break;
        case'2':
        for(i=0;i<n-1;i++) {
        for (j=(i+1);j<n;j++)
            {
        if (vet[j])<vet{
        aux=vet;
        vet=vet[j];
        vet[j]=aux
        }
            }
        }


 

Link para o comentário
Compartilhar em outros sites

No seu código está faltando o índice "i" do vetor "vet". Talvez você tenha colocado e na hora de postar sumiu, de todo modo:

(...)
vet[i]=rand()%1000;
(...)
if (vet[j]<vet[i]) {
 aux=vet[i];
 vet[i]=vet[j];
 vet[j]=aux;
}
(...)

Use o "<>" para postar o código e evitar esse tipo de erro.

Link para o comentário
Compartilhar em outros sites

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!