Ir ao conteúdo
  • Cadastre-se
Estudante0123

C Matriz com ordem gigante

Recommended Posts

Olá, preciso montar um codigo com uma matriz que recebe muitas entradas (+ 1k), minha duvida é se teria como tornar o processo mais rápido. Por exemplo, as entradas são todas numeros naturais, e estão anotadas no bloco de notas, separadas por virgulas (ex: 657, 789, 0, 87, ...). Teria como implementar meu codico para que eu simplesmente de um ctrl+c ctrl+v nas estradas, e ele entenda cada virgula como separação de um dado na matriz?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso é melhor aprender a lidar com leitura de arquivos, assim o programa lê os dados diretamente do arquivo que já tem os números, e você não precisa digitar nada.

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá ... @Estudante0123 !

Matrizes possuem limites, caso a quantidade de dados seja maior que esse limite então use memória dinâmica.

 

lista.c

#include <stdio.h>


int main( void )
{
     int lista_de_numeros [100u];//    limite de ~10e8 elementos

     {// BLOCO DE TAREFAS #1
          // Captura conjunto de valores inteiros, interrompe quando o valor
          // EOF foi encontrado ou digitado, 
          // para interromper entre com a combinação Ctrl+Z no prompt.
          char scanner [] = {" %d "", "};
          char printer [] = {"%u ""%s "};
          unsigned index = 0;

          int input = scanf( scanner, lista_de_numeros + index );
          while( EOF != input ){
                    ++index;
                    input = scanf( scanner, lista_de_numeros + index );
                    }

          printf( printer, index, "numero(s) foram carregados.\n" );
     }// #1
     
    return 0;
}

Você pode copiar e colar o conteúdo direto na linha de comando do prompt ou pode usar o comando inputs.

Para usa o comando inputs faça assim no prompt:

C:\desenvolviment\programac\lista.exe < minha_lista.txt

Caso o arquivo minha_lista.txt esteja no mesmo diretório que lista.exe

 

 

Se o programa de erro, é provável que o limite de vetores é ainda menor.  ou ainda é necessário que o arquivo minha_lista.txt tenha seu layout regular desta maneira;

1, 2, 3, 4, 5,

note que existe uma vírgula marcando o final de cada valor.

 

 

 

Qualquer dúvida fica a vontade para comentar.

~~/~~

  • Curtir 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

×