O arquivo texto "Dados.txt" contÈm 1000 valores inteiros. FaÁa um programa que leia do arquivo todos os valores menores que 450 e os coloque num vetor alocado em ·rea din‚mica de memÛria. Ordenar CRESCENTE o vetor e criar um arquivo BIN¡RIO com todos os valores ordenados do vetor. O nome do arquivo bin·rio a ser criado deve ser lido do teclado. Listar na tela os valores armazenados no arquivo bin·rio criado (listar 10 valores por linha na tela).


  1. /*O arquivo texto "Dados.txt" contÈm 1000 valores inteiros.
  2. FaÁa um programa que leia do arquivo todos os valores menores que 450
  3. e os coloque num vetor alocado em ·rea din‚mica de memÛria.
  4. Ordenar CRESCENTE o vetor e criar um arquivo BIN¡RIO
  5. com todos os valores ordenados do vetor. O nome do arquivo bin·rio a
  6. ser criado deve ser lido do teclado. Listar na tela os valores armazenados no
  7. arquivo bin·rio criado (listar 10 valores por linha na tela). */
  8.  
  9. #include <stdio.h>
  10.  
  11. int main()
  12. {   FILE *arqTexto;    int *v, *v2, i, quantidade = 0, varredura, aux;
  13.     float mediaArit;   char buf[100];   long int ult,penult,finalarq;
  14.     arqTexto = fopen("Dados.txt","r");
  15.     if(arqTexto == NULL)
  16.         {   printf("\n\nErro ao abrir o arquivo!!!");
  17.         getch();      
  18.                 return 0;
  19.     }
  20.         //Ler o arquivo texto.
  21.     v = (int*)malloc(sizeof(int)* 1000);
  22.     v2 = (int*)malloc(sizeof(int)* 1000);
  23.     for(i=0; i<1000; i++)
  24.         {   fscanf(arqTexto, "%d", &v[i]);
  25.                        if(v[i] < 450){
  26.                v2[i]=v[i];
  27.                            quantidade++;
  28.                         }
  29.     }    
  30.     //Criar um vetor com os valores menores que 450.
  31.     printf("\n\nValores menores que 450:\n\n");
  32.     for(i=0;i<quantidade; i++) {
  33.               if(v2[i]>v2[i+1]){
  34.                 aux = v2[i];
  35.                 v2[i] = v2[i+1];
  36.                 v2[i+1] = aux;
  37.                 }              
  38.         }
  39.         for(i=0;i<quantidade; i++) {
  40.             printf("%8d", v2[i]);
  41.         }
  42.                
  43.     free(v);  
  44.         fclose(arqTexto);          
  45.     printf("\n\nPressione uma TECLA para TERMINAR o programa ... ");
  46.         getch();
  47.         return 0;
  48. }


Learn More :