Ir para conteúdo
Fórum Script Brasil
  • 0

Matriz de zeros e uns


marc0gt40

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

Aew marc0gt40, beleza?

você quer só mostrar a matriz ou quer criar?

você pode usar as funções srand() e rand() da stdlib.h e time() da time.h pra gerar os 1's e 0's aleatórios e pode percorrer a matriz normalmente pra imprimir, não tem segredo. Tente fazer, se não conseguir, poste suas dúvidas.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu consegui fazer a matriz de zeros e uns pegando o resto da divisao do tempo por 2. Mas o vetor aparece apenas desse modo:

1111111

1111111

1111111

1111111

ou entaum

0000000

0000000

0000000

0000000

como posso fazer para a matriz aparecer com os numeros aleatorios desse modo:

0000100

1100101

0001111

0011101

Meu codigo ficou assim:

# include <stdlib.h>
# include <stdio.h>
# include <time.h>
# define N 9

int main () {
    int i, j;
    int V[N][N];   
    time_t seconds;
    seconds = time(NULL);


    for (i=0; i<N; i++)
      for (j=0; j<N; j++)
          V[N][N]=seconds%2;
    
    for (i=0; i<N; i++){
        for (j=0; j<N; j++)
        printf("%d", V[N][N]);
        printf("\n"); 
      }
    
    
    
    
    system("pause");
}

Desde já Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

marc0gt40, você está armazenando sempre um valor constante na matriz. Você pega a hora, seja lá qual for e dependendo dela, coloca 1 ou 0 na matriz em todas as posições, pra gerar números aleatórios você usa a função rand(). Essa função retorna um número entre zero e RAND_MAX, uma macro que está definida na stdlib.h. Então o código a seguir geraria um número, possivelmente, enorme:int aleatorio = rand();

int aleatorio = rand();

Mas isso não é o que a gente quer =] . Então usamos o operador de resto como você usou antes.

Agora, se você perceber bem, a rand() gera valores pseudo-aleatórios, começando por um semente. O que acontece é que pra melhorar a geração desses números você pode especificar essa "semente" de forma a "inicilizar" a geração dos números, usando a função srand() e enviando como parâmetro a semente pra iniciar a sequencia, mas ainda assim, só com o que a gente tem não conseguimos gerar números o mais aleatório possível, então pra ficar legal, passamos a hora devolvida pela time() como argumento da srand(), uma vez, antes de usar o rand(), geralmente no início do programa. Com essas informações, tente fazer a geração da matriz, depois poste o código caso não der certo ou você tiver alguma dúvida =]

Mais informações sobre as funções:

srand() - http://www.cplusplus.com/reference/clibrary/cstdlib/srand/

rand() - http://www.cplusplus.com/reference/clibrary/cstdlib/rand/

time() - http://www.cplusplus.com/reference/clibrary/ctime/time/

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...