Arquivo com números aleatórios.
Publicado por Thiago 01/09/2007
[ Hits: 10.286 ]
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;
}
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (7)
O programa assinador digital (5)









