Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

i-maxxi

Vetor com tamanho indefinido

Recommended Posts

Olá bom dia, estou começando agora em "C" e tenho que ler um número e mostrar o resultado em binário. Já consegui só que esbarro em qual será o tamanho do vetor que irei colocar, já que não sei o número que será digitado( Já vi algumas resoluções complexas para mim, e como estou no começo da matéria não posso usar), daí a pergunta é possível declarar um vetor onde o valor é indefinido?Agradeço desde já, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim você pode usar ponteiro e até msm alocação dinamica com o malloc!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quit,nao precisa de ponteiros.

O C99 suporta a declaração de variáveis em qualquer lugar do código. Ou seja,dá pra fazer isso:

 

#include <stdio.h>
int main(void) {
 int max;
 scanf("%d",&max);
 char V[max];
 for(int i=0;i<max;i++)
V[i] = '3';

 for(int j=0;j<max;j++)
printf("%c ",V[j]);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah,então o padrão é gambiarrento? Se você prefere jogar fora uma facilidade da linguagem porque acha feio,mesmo o comitê concordando que a possibilidade de declarar variáveis em qualquer lugar do código ajuda no desenvolvimento...

 

Realiza o que o cara falou:

estou começando agora em "C"

 

Turbo C? Tinha que ser da Borland... Turbo C é velho pra caramba. A única coisa no site da Borland que respondeu a busca por C99 foi isso: http://www.codegear.com/products/cppbuilder

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem uma maneira de você já saber de antemão quantas posições seu vetor vai precisar. Saca só, uma comparação entre alguns números e seus correspondentes em binário:

 

1 = 1

2 = 10

4 = 100

8 = 1000

 

Logo, o número de posições no vetor é 1 + potência de 2. Só que, é claro, tem números diferentes desse que você vai precisar: 3, 5, 9, etc... Esses números seguem a mesma regra da potência de 2 anterior então basta calcular esse número de posições no vetor usando-se da potência de 2 anterior:

3 = 11

5 = 101

9 = 1001

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm, legal. Então o compilador mais indicado para C não é da Microsoft e nem da Borland?

Li um pouco sobre aquele GCC, mas não intendi bem "/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.