Ir ao conteúdo
  • Cadastre-se

C++ Algoritmo para simplificar vetores


Borracha23

Posts recomendados

Preciso fazer um programa que só no começo possui mais de 1000 vetores do mesmo tamanho e do mesmo tipo, com valores fixos. O problema é que isso ocupa um espaço enorme. Assim, eu queria saber se existe alguma forma de compactar esses vetores ao invés de torrar 1000 linhas no algoritmo principal só para eles.

 

Agradeço pela atenção.

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

41 minutos atrás, Borracha23 disse:

ssim, eu queria saber se existe alguma forma de compactar esses vetores ao invés de torrar 1000 linhas no algoritmo principal só para eles.

Sim! Se chamam laços, funções, etc. Tudo o que for repetições deve ser evitado a todo custo, utilizando os mecanismos que a linguagem lhe oferecer.
E se for armazenar tanta memoria assim talvez deveria utilizar memoria dinâmica.

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

@Borracha23 você quer dizer que precisa usar 1000 vetores no programa ? e você usaria 1000 linhas sendo uma linha para cada vetor?     pelo jeito esse programa vai ser bem complicado .   mas no lugar de usar esses 1000 vetores você pode usar uma matriz  que ocuparia apenas uma linha,  então se seus vetores tiver 1000 posições cada um, a matriz seria assim :

int matriz[1000][1000];

seria como se fosse assim :

vetor1[1000];
vetor2[1000];
   . 
   .
   .
vetor998[1000];
vetor999]1000];
vetor1000[1000];

e para acessar esses vetores você especifica qual vetor você quer acessar assim :

for(i=0;i<1000;i++){
    a = matriz[0][i];   
}

aqui você acessa o primeiro vetor, e para acessar os outros você muda o número que está no primeiro colchete .
pois o primeiro são as linhas  da matriz, que representam os vetores, e o segundo são as colunas , que representam as posições do vetores,.   assim se você colocar essa linha :

a=matriz[2][9];

significa que você está pegando o valor que está na décima posição do terceiro vetor, pois começa em zero  .

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

@Borracha23    então você já estudou sobre matriz ?    pois   se são en torno de mil vetores e cada vetor tem 30 posições então seria assim :

int matriz[1000][30];

então esse 1000 é a quantidade de vetores ,que serão de zero até 999, e o 30 são as trinta posições de cada vetor .

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

13 minutos atrás, devair1010 disse:

@Borracha23    então você já estudou sobre matriz ?    pois   se são en torno de mil vetores e cada vetor tem 30 posições então seria assim :


int matriz[1000][30];

então esse 1000 é a quantidade de vetores ,que serão de zero até 999, e o 30 são as trinta posições de cada vetor .

Sim, mas o problema é que eu preciso dos valores prontos no algoritmo, porque eles são fixos. A matriz realmente resolve o problema da quantidade de funções, mas eu ainda vou precisar escrever linha por linha dela. É isso que eu quero tentar evitar.

 

PS: Estou escrevendo rápido e sem pensar então eu provavelmente vou acabar escrevendo alguma burrice.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@Borracha23    se você sabe os valores fixos que serão inseridos nos vetores então use um loop  que pode ser um for, assim :

for(j=0;j<1000;j++)   /* aqui é quantidade de vetores */
    for(i=0;i<30;i++){/* aqui a quantidade de posições em cada vetor */
        printf("digite o %d valor do %d vetor ",i+1,j+1);                  
        scanf("%d",& matriz[j][i]);
    }                   

assim você terá que inserir os valores manualmente,   outra forma seria usar um arquivo com os valores fixos e um código para ir pegando os valores e colocando nos vetores .   mas de qualquer forma você teria que digitar esses valores fixos .

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

  • Membro VIP

Olá.

 

12 horas atrás, Borracha23 disse:

Sim, mas o problema é que eu preciso dos valores prontos no algoritmo, porque eles são fixos. A matriz realmente resolve o problema da quantidade de funções, mas eu ainda vou precisar escrever linha por linha dela. É isso que eu quero tentar evitar.

 

 

 

De uma forma ou de outra será necessário importar... tem pelo menos duas formas: ou você copia e cola no código fonte, linha por linha; ou estrutura os dados num arquivo e faz a leitura do arquivo pelo programa em execução.

 

RESUMINDO

 

@Borracha23, qual a origem desses dados? eles estão num arquivo? num site?

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

1 hora atrás, Simon Viegas disse:

Olá.

 

 

 

 

De uma forma ou de outra será necessário importar... tem pelo menos duas formas: ou você copia e cola no código fonte, linha por linha; ou estrutura os dados num arquivo e faz a leitura do arquivo pelo programa em execução.

 

RESUMINDO

 

@Borracha23, qual a origem desses dados? eles estão num arquivo? num site?

Muito obrigado pessoal, esclareceram o que eu queria saber.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!