Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Nmaster

Dúvida basica

Mensagens Recomendadas

Nmaster

Olá pessoal, venho por este meio comunicar uma dúvida um pouco parva/básica.

A ideia deste trecho de código, era, a de preencher um array de inteiros, em que ao pressionar '^Z' passa-se a intrução seguinte.. mas o engraçado é que a parte do '^Z' não está a funcionar.

Alguém me pode ajudar a resolver o problema?  :(

Ja perguntei a alguns colegas mas eles também não sabem.

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

int a [100];

int numbers_read(FILE *f, int *a)
{
int x,i=0;
for(;
  {
  fscanf(f,"%d",&x);
  a[i]=x;
         if(a[i]==EOF) break;
  i++;
  }     
  /*while ((x)!=EOF)
  {
   fscanf(f,"%d",&x);
   a[i]=x;
   i++;      
  }
  contador=i;*/
return i;
}

void write_array(FILE *g, int n)
{
int i;
fprintf(g, "%d\n", n);
for (i= 0; i< n; i++)
  fprintf(g, " %d ", a[i]);
  fprintf(g, "\n");
}

void test_read_write(void)//função apenas de teste da escrita
{
int n;
n = numbers_read(stdin, a);
write_array(stdout, n);
}

int main (void)
{
system("chcp 1252");
//test_trace_bubblesort();
test_read_write();
getchar();
//system("PAUSE");
return 0;   
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Nmaster

Mas não podem postar o codigo alterado se tiverem disponibilidade como é obvio.  :D

Sou um pouco nabo nisto... tenham compreensão.

E ja agora explico que a minha ideia aseguir a fazer está função(ficar operacional), era a de usar o algoritmo Bubblesort(sim, so agora comecei a estudar este algoritmo básico, mas importantissimo) para depois ordenar o array, com o seu tamanho armazenado na variavel n.

Saudações.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

Podes tentar fazer assim:

int numbers_read(FILE *f, int *a) {
        int i=0;
        while (fscanf(f,"%d",&a[i])!=EOF && i<100)
                i++;
        return i;
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.