Arquivo com números aleatórios.

Publicado por Thiago 01/09/2007

[ Hits: 10.134 ]

Download num_aleatorio.c




Gera um arquivo com 3 colunas de n números aleatórios definidos pelo usuário.

  



Esconder código-fonte

/*
 * Autor: Thiago A. M. Monteiro
 * Data: 24/08/2007
 * Alteracao:
 * OBS: Faca o que quiser mas mantenha a autoria.
 */


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


int main (int argc, char *argv[])
{
  char caracter;
  int i, n;
  double x, y, z;
  int *vetor = NULL;
  FILE *arquivo;
  
  system ("clear");
  
  if (argc < 2)
  {
    printf ("Pow informa o nome do arquivo baitôla!\n");
    system ("sleep 3");    
    system ("clear");
    exit(1);
  }
  
  printf ("\nInforme a quantidade de elementos do conjunto: ");
  scanf  ("%d", &n);
  
  vetor = (int*) malloc (n * sizeof (int) );
  
  if (!vetor)
  {
    printf ("\nIh! Dançou este pc nao alocou memoria pra teu vetor.\n");
    system ("sleep 3");
    system ("clear");
    exit (1);
  }
      
 if ( !(arquivo = fopen (argv[1], "w") ) )
 {
   printf ("\nFalha ao abrir o arquivo.");
   system ("sleep 3");
   system ("clear");
   exit (1);
 }



/*
  A função rand() gera uma sequência de valores que se repete igual a si própria sempre que o programa é executado.
Isto, porque, a semente da sequência é sempre a mesma (1)!
 Para que produza-se uma sequência diferente é necessário, mudar a semente usando a função srand(), cujo argumento inteiro (sem sinal) é a nova semente e que não retorna nenhum valor.

srand(41);

 Se se pretender uma sequência diferente, sempre que o programa é executado, e o utilizador não seja obrigado a introduzir a semente, podemos usar uma função que retorna o valor do relógio do computador em segundos (e cujo protótipo está em time.h):

srand(time(NULL));
*/
     
srand ( time(NULL) );
  
  for (i = 1; i <= n; i++)
  {
    fprintf (arquivo, "%.2f ", ( (double) rand() ) / RAND_MAX);
    
    if (i % 3 == 0)
      fprintf (arquivo, "\n");
  }
  
  fclose (arquivo);  
  system ("clear");
    
  return 0;
}

Scripts recomendados

Ler config

Conta caracteres

Codigo para criar arquivo de log

leitura/escrita de dados/estruturas em arquivo

Agenda (fones, compromissos, aniversários) em C usando arquivos binários


  

Comentários
[1] Comentário enviado por thiagoamm em 01/09/2007 - 15:28h

Oi amigos.
Deixei três variáveis no programa "x, y, z" para que pudessem implementar a criação de arquivos para serem usados pelo GNUPLOT.
Há um ótimo tutorial aqui no VivaoLinux sobre o assunto que pode ser conferido em http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1055&pagina=1


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts