 
        
        
          Добавил:
          
          
        
        
    
            korayakov
            
            
            
            
            
            Опубликованный материал нарушает ваши авторские права? Сообщите нам.
          
          Вуз:
          Предмет:
          Файл:Лабы / неТельминов / lab4 / LAB4-7
.CPP// lab 4 var 7
#include <conio.h>
#include <stdio.h>
#include <io.h>
#include <string.h>
#include <iostream.h>
#include <dir.h>
class name_and_size
{
public:
    long int size;
    char name[260];
};
int main(int argc, char *argv[])
{
    int counter = 0;
    int i, changed;
    char tardir[255]="";
    clrscr();
    if (argc>1) {strcpy(tardir, argv[1]); strcat(tardir,"\\");}
    strcat(tardir,"*.*");
    name_and_size dir[200];
    struct ffblk ffblk;
    int done;
    printf("Directory listing:\n");
    done = findfirst(tardir,&ffblk,0);
    while (!done)
    {
      printf("%-12s ", ffblk.ff_name);
      cout << ffblk.ff_fsize << "\n";
      dir[counter].size = ffblk.ff_fsize;
      strcpy( dir[counter].name, ffblk.ff_name );
      counter++;
      done = findnext(&ffblk);
    }
    name_and_size temp;
    do {
	 changed = 0;
	 for (i = 0; i < counter-1; i++)
	 {
	    if (dir[i].size > dir[i+1].size)
	    {
	       changed = 1;
	       temp = dir[i];
	       dir[i] = dir[i+1];
	       dir[i+1] = temp;
	    }
	}
    } while (changed);
    printf("\nSorted:\n");
    for ( i = 0; i < counter; i++ )
    {
      printf("%-12s ", dir[i].name);
      cout << dir[i].size << "\n";
    }
    return 0;
}