Arquivo com números aleatórios.
Publicado por Thiago 01/09/2007
[ Hits: 10.331 ]
Gera um arquivo com 3 colunas de n números aleatórios definidos pelo usuário.
/*
* 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;
}
Programa CONSULTA/ PESQUISA/ ADICIONA/ EXCLUI registros em arquivos
Compactando arquivos de log *.txt
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Instalar Dual Boot, Linux+Windows. (8)
Eaí? Já programou no windows? (2)
Erro ao enviar arquivos para o Storage Synology NAS (0)
Conky, alerta de temperatura alta (17)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









