Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
32
Добавлен:
16.04.2013
Размер:
1.31 Кб
Скачать
// 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;
}