Сортировка двумерного массива

Тема в разделе "Pascal and Delphi", создана пользователем rsaymka, 23 сен 2009.

  1. rsaymka

    rsaymka Гость

    Здравствуйте помогите пожалуйста разобраться,задали задачу(завтра сдавать).Условие Сортировать столбцы в матрице 6х6 по убыванию наименьших элементов в столбце .Не могу разобраться правильно ли я сделал?...
    Код (Text):
    program lab2;
    uses crt;
    const n=6; m=6;
    type arr= array[1..n,1..m] of integer;
    Var ft,fi: text;
    i,j:integer;
    A:Arr;
    E:char;
    f:string;

    Procedure SWP(Var X,Y:Integer); {меняем местами X и Y}
    Var T:Integer;
    Begin
    T:=X;
    X:=Y;
    Y:=T;
    End;

    Procedure SWPC(X,Y:Integer);    {меняем местами строки с элементами X и Y}
    Var T:Integer;
    Begin
    For T:=1 To M Do
    SWP(A[X,T],A[Y,T]);
    End;

    Function MinC(X:Integer):Integer;  {определение максимального элемента в строке}
    Var Min,T:Integer;
    Begin
    Min:=A[X,1];
    For T:=1 To M Do If A[X,T]>Min Then Min:=A[X,T];
    MinC:=Min;
    End;

    Procedure Sort; {сотировка строк по убыванию максимального элемента}
    Var X,Y:Integer;
    Begin
    For X:=1 To N-1 Do
    For Y:=X+1 To N Do
    If MinC(X)>MinC(Y) Then SWPC(X,Y);
    End;

    begin
    clrscr;
    writeln('Vi hotite zadat matrizu s klaviaturi? (Y/N):'); {спрашиваем, откуда брать исходные данные}
    readln(E);
    If UpCase(E)='Y' then  {ввод матрицы с клавиатуры}
    begin
    for i:=1 to n do
    for j:=1 to m do
    begin
    Write('Vvedite A[',i,',',j,']=');
    Readln(A[i,j]);
    end;
    writeln;
    end;

    If UpCase(E)='N' then {загрузка матрицы из файла}
    begin
    writeln('Matriza budet zagruzena iz faila. Vvedite imja faila:');
    readln (f);
    assign(ft,'D:\massiv\input.txt');
    reset(ft);
    For I:=1 To N Do
    For j:=1 To M Do
    Read(Ft,A[I,J]);
    end;

    assign(fi, 'd:\massiv\input.txt'); {создаём файл для вывода результатов и открываем его для записи}
    Rewrite(fi);

    writeln('Ishodnaya matrica:'); {выводим исходную матрицу на экран и в файл}
    writeln;
    writeln(fi,'Ishodnaya matrica:');
    writeln(fi);
    for i:=1 to n do begin
    for j:=1 to m do write(' ',a[i,j]);
    writeln;
    end;
    for i:=1 to n do begin
    for j:=1 to m do write(fi,' ',a[i,j]);
    writeln(fi);
    end;
    writeln;
    writeln(fi);
    Sort; {сама сортировка!}
    writeln('Otsortirovannaja matrica:'); {выводим отсортированную матрицу на экран и в файл}
    writeln;
    writeln(fi,'Otsortirovannaja matrica:');
    writeln(fi);
    for i:=1 to n do begin
    for j:=1 to m do write(' ',a[i,j]);
    writeln;
    end;
    for i:=1 to n do begin
    for j:=1 to m do write(fi,' ',a[i,j]);
    writeln(fi);
    end;
    Close(fi); {закрываем файл с записанными данными}
    writeln;
    writeln ('Rezultat sochranen v faile ''rez.txt". Dlja zawershenia nazmite "Enter"');
    readln;
    end.
     
  2. etc

    etc Гость

    т.е. вы это стартонули, оно чтото сделало, а вы не могете понять что именно, так?
     
Загрузка...
Похожие Темы - Сортировка двумерного массива
  1. vera2014
    Ответов:
    0
    Просмотров:
    1.076
  2. Liori
    Ответов:
    2
    Просмотров:
    1.007
  3. FCDK
    Ответов:
    0
    Просмотров:
    1.266
  4. ленарано
    Ответов:
    1
    Просмотров:
    1.105
  5. Creder
    Ответов:
    0
    Просмотров:
    1.349

Поделиться этой страницей