Ir ao conteúdo

Posts recomendados

Postado

Bom dia, pessoal. 

 

Estou criando um algorítimo em C até então simples. Meu desejo é: criar uma lista desordenada em um arquivo .txt, pegar esse arquivo e passar as informações, no caso os números, para um vetor. Ordenar esse vetor, realizar a pesquisa binária, criar outro arquivo .txt com a lista agora ordenada, posteriormente fazer a pesquisa binária, criar mais um .txt com o log do que o algoritmo fez. 

 

Desse programa tenho a noção completa de como fazê-lo, com exerção de como passar os dados do .txt para o vetor. Quero saber como fazer isso

  • Curtir 1
Postado

@Ronald Lage    para pegar os números no arquivo você abre o arquivo e use o comando fscanf para pegar apenas uma string de cada vez , em seguida coloque um loop  for indo de zero ate o tamanho da string que foi pegada , e para saber o tamanho da string você usa o comando strlen , e dentro desse loop você verifica cada caractere da string para ver se são números , e para isso use o comando.  isdigit() , e se todos os caracteres da string for números então use a função atoi  para converter array para inteiro , e coloque no vetor na posição do contador e incremente o contador , e vai para a próxima string até chegar ao fim do arquivo  que será informado pelo  EOF  :

while(fscanf(arq,"%s",&str)!= EOF)

com str do tipo char str[20];    , assim tudo que for números serão colocados no vetor depois use o método bubblesort para ordenar vetores .

    faca seu código e poste aqui para vermos como está e em que podemos ajudar. ., e para postar use o botão    <>   que esta lá na barra de ferramentas da janela de postar ,  pois senão seu código fica faltando alguns caracteres .

 

Postado

@Ronald Lage    qual loop você se refere  ?     se for no de verificar se são números seria isso  :

for(j=0;j<strlen(str);j++){
    if( ! isdigit(str[j]))flag=1;
}
if( ! flag){
    vetor[cont] = atoi(str);
    cont++;
}

como você disse que sabe como usar arquivos , esse código ficaria dentro do while .

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!