Ir ao conteúdo

Posts recomendados

Postado

Alguém me consegue criar este programa em C, usando o bubble sort?

Um vetor de números inteiros com 512 posições. Este vetor com números
aleatórios entre 0 e 1000.

Gerar os números aleatórios. O programa deve permitir criar um novo vetor a qualquer momento.

Bem Haja.

Postado

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 

Postado
#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

Postado

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
Postado

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


 

Postado

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.

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!