fpontesmorales

AP3 - TPE I

Sep 19th, 2011
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.08 KB | None | 0 0
  1. /*Escrever o programa GERADAT que executa as seguintes tarefas:
  2. Item (A): Gera aleatoriamente valores inteiros contidos no intervalo [a, b]
  3. para preencher os elementos de um vetor V de dimensão n x 1 e armazenar em um arquivo "dados.txt".
  4. Para tanto seguir os passos descritos nos itens (B)-(F):
  5. Item (B): Pede ao usuário o número de colunas n e os limites inferior a e superior b do intervalo [a, b].
  6. Item (C): Depois criar dinamicamente (usando calloc ou malloc) o vetor V (n x 1) será preenchido com valores
  7. aleatórios contidos no intervalo [a, b] empregando as funções srand(), time(), e rand() em conjunto com os valores a e b.
  8. Item (D): Imprimir os elementos do vetor V no arquivo "dados.txt", mas antes indicar a dimensão de V tal como
  9. ilustrado abaixo (que corresponde a um arquivo obtido ao se executar o programa para os seguintes valores
  10. n = 3, a = 1 e b = 6):
  11.  
  12. 3
  13. 2 1 5
  14.  
  15. A função rand() você usa assim:
  16. int x = rand();
  17. Os valores de x podem estar entre 0 e 32767.
  18. Para gerar valores entre 1 e 25, faça o seguinte:
  19. x = rand() % 25 + 1;
  20. A função srand() serve para você evitar que a função rand() forneça sempre a mesma sequência de números aleatórios.
  21. Escreva algo assim no início de seu código: srand(time());
  22. OBS.: incluir stdio.h, stdlib.h e time.h */
  23.  
  24. #include<stdio.h>
  25. #include<stdlib.h>
  26. #include<time.h>
  27.  
  28. int main (void){
  29.  
  30.     FILE *arquivo;
  31.     int n , a , b, *v, aux;
  32.     srand(64387);
  33.  
  34.     printf("Digite a quantidade de colunas do vetor: ");
  35.     scanf("%d", &n);
  36.  
  37.     v = malloc(sizeof(int) * n);
  38.  
  39.     printf("Digite o limite INFERIOR do intervalo desejado: ");
  40.     scanf("%d", &a);
  41.  
  42.     printf("Digite o limite SUPERIOR do intervalo desejado: ");
  43.     scanf("%d", &b);
  44.  
  45.     arquivo=fopen("dados.txt" , "a" );
  46.  
  47.     fprintf(arquivo,  "%d", n);
  48.     putc('\n',arquivo);
  49.  
  50.     for(aux=0 ; aux<n ; aux++){
  51.     v[aux] = rand()%b+a;
  52.     }
  53.  
  54.     for(aux=0 ; aux<n ; aux++){
  55.     fprintf(arquivo,"%d ", v[aux]);;
  56.     }
  57.     putc('\n\n',arquivo);
  58.  
  59.     fclose(arquivo);
  60.  
  61.     system("dados.txt");
  62.  
  63.     system("PAUSE");
  64.  
  65.     return 0;
  66.  
  67.  
  68. }
Advertisement
Add Comment
Please, Sign In to add comment