All pastes #958247 Raw Edit

Miscellany

public text v1 · immutable
#958247 ·published 2008-03-26 16:28 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
      
      char nome[25];  //nome do arquivo
      int tamanho,    //variavel para o tamanho do vetor a ser criado
          *vetord,    //vetor a ser ordenado
          valor,      //variável flag
          i, j;
      FILE *arq;
      
      printf("Entre com o nome do arquivo: ");
      fflush(stdin);
      gets(nome);
      arq = fopen(nome, "rt");
      
      tamanho = 0;
      valor = 0;
      
      for(;;){                             //encontra a quantidade de números presente no arquivo
         fscanf(arq, "%d", &valor);        //até encontrar um flag -1
            if (valor == -1)
               break;
         tamanho++;
      }
      
      vetord = (int*)calloc(tamanho, sizeof(int) ); //criação dinamica dos vetores
      
      arq = fopen(nome,"rt");        //gambiarra
      for(i = 0;i < tamanho;i++)
         fscanf(arq, "%d", &vetord[i]);
      fclose(arq);
      
      printf("\n\nO vetor ordenado desordenado era:\n\n");
      for(i = 0;i < tamanho;i++)
         printf("%d ", vetord[i]);
      
      for(j = 1;j < tamanho;j++)
      {
         valor = vetord[j];
         for (i = j-1; i >= 0 && vetord[i] > valor; --i) 
            vetord[i+1] = vetord[i];
         vetord[i+1] = valor;
      }
            
      printf("\n\nO vetor ordenado eh:\n\n");
      for(i = 0;i < tamanho;i++)
         printf("%d ", vetord[i]);
      
      
system("pause");
}