 
 
У меня много мыслей по поводу Вашей программы. 
fiks писал(а):
Я просто думал,что для разбирающихся людей это как 2 пальца об асфальт.... 
 Вы правы, а что? Вы думаете, пальцы не жаль?! Вы ещё об наждак посоветуйте. 

 Но дело в том, что нам это не нужно. Хотя мы готовы помочь Вам.
1) Я немного переформатировал Ваш код. 
Мне так легче читать. Посмотрите, может и Вам понравится.
Код:
  1  program Ren74;
  2    uses crt;
  3
  4    const
  5      n = 5; (* dimmension of the array *)
  6
  7    type
  8      dar = array [1..n,1..n] of integer;
  9      ar  = array [1..n] of longint;
 10
 11    var
 12      max, min, i, k, i1, i2, k1, k2, k3, save: longint;
 13      a: dar;
 14      b: ar;
 15
 16  begin
 17    clrscr;
 18
 19    randomize;
 20
 21    max:=-10;
 22    min:=10;
 23    i1:=0;
 24    i2:=0;
 25    k1:=0;
 26    k2:=0;
 27
 28    (* random initialization *)
 29    for i:=1 to n do begin
 30      for k:=1 to n do begin
 31        a[i,k]:=random (9);
 32      end;
 33    end;
 34
 35    (* print array *)
 36    for i:=1 to n do begin
 37      for k:=1 to n do begin
 38        write (a[i,k]:5);
 39      end;
 40      writeln;
 41    end;
 42
 43    (* find a min of abs of the other diagonal *)
 44    k:=5; k3:=0; k1:=0;
 45    for i:=1 to n do begin
 46      if abs(a[i,k-k3]) < min then begin
 47        min:=abs(a[i,k-k3]);
 48        i1:=i;
 49        k1:=k-k3;
 50      end;
 51      k3:=k3+1;
 52    end;
 53    writeln ('Min=',a[i1,k1],'[',i1,',',k1,']');
 54
 55    (* find a max of the array *)
 56    for i:=1 to n do begin
 57      for k:=1 to n do begin
 58        if a[i,k] > max then begin
 59          max:=a[i,k];
 60          i2:=i;
 61          k2:=k;
 62        end;
 63      end;
 64    end;
 65    writeln ('Max=',a[i2,k2],'[',i2,',',k2,']');
 66
 67    (* swap them *)
 68    save:=a[i1,k1]; a[i1,k1]:=a[i2,k2]; a[i2,k2]:=save;
 69
 70    (* print updated array *)
 71    writeln;
 72    writeln ('Ïîñëå çàìåíû');
 73    for i:=1 to n do begin
 74      for k:=1 to n do begin
 75        write (a[i,k]:5);
 76      end;
 77      writeln;
 78    end;
 79
 80    (* swap first and second raw *)
 81    i1:=1;
 82    i2:=2;
 83    for k:=1 to n do begin
 84      b[k]:=a[i1,k];
 85    end;
 86    for k:=1 to n do begin
 87      a[i1,k]:=a[i2,k];
 88    end;
 89    for k:=1 to n do begin
 90      a[i2,k]:=b[k];
 91    end;
 92
 93    (* print updated array *)
 94    readln;
 95    writeln('Ïîñëå çàìåíû 1-îé è 2-îé ñòðîêè');
 96    for i:=1 to n do begin
 97      for k:=1 to n do begin
 98        write (a[i,k]:5);
 99      end;
100      writeln
101    end;
102
103
104
105    max:=-999999;
106    min:=999999;
107    for k:=1 to n do begin
108      b[k]:=0;
109    end;
110
111    for k:=1 to n do begin
112      for i:=1 to n do begin
113        b[k]:=b[k]+(a[i,k]*a[i,k]);
114      end;
115    end;
116
117    for k:=1 to n do begin
118      if b[k]<min then begin
119        min:=b[k];
120        k1:=k;
121      end;
122      if b[k]>max then begin
123        max:=b[k];
124        k2:=k;
125      end;
126    end;
127
128    readln;
129    writeln ('max =',max,'');
130    writeln ('min =',min,'');
131    writeln ('Ïîñëå çàìåíû');
132    for i:=1 to n do begin
133      b[i]:=a[i,k2];
134    end
135    for i:=1 to n do begin
136      a[i,k2]:=a[i,k1];
137    end;
138    for i:=1 to n do begin
139      a[i,k1]:=b[i];
140    end;
141
142    (* print updated array *)
143    for i:=1 to n do begin
144      for k:=1 to n do begin
145        write (a[i,k]:5);
146      end;
147      writeln;
148    end;
149    readln;
150  end.
1-а) const, type, var начинают зоны. Поэтому их лучше писать на отдельной строчке, а содержимое зоны — с отступом.
1-б) Имеет смысл группировать переменные по смыслу, а не по типу. Например, max, min, save — это содержимое массива, а остальные переменные — индексы. Если Вы поменяете тип элементов массива, тип max, min, save поменяется, а тип остальных — нет. (К тому же тип индекса int, а не longint).
1-в) Я рекомендую Вам не экономить на begin-end. Даже если это ровно один оператор, пишите их! Поверьте, искать ошибки гораздо дольше, чем набрать.
1-г) Я использую (проверьте) другую стратегию отступа: 
Код:
    for i:=1 to n do begin
            (* код с отступом *)
    end;
т.е., begin находится на той же строчке, что и оператор, а end — под началом оператора. То же самое относится и к if, и к остальным.
Ну, на этот счёт существуют разные конвенции. Я не буду утверждать, что эта — лучшая в мире.
1-е) Никто ещё не разу не жаловался на осмысленные комментарии в программах. Но кроме них, полезно разбивать текст пустыми строками, подобно разбиению текста книги на абзацы — по содержанию. Обратите внимание — циклы в строчках 132-140 работают вместе, и не разбиты пустыми строками.
2) Я не увидел нигде в задании указаний на диапазон случайных чисел. Это кажется мелочью, но накладывает отпечаток на структуру программы. Например, на инициализацию min и max (строки 21, 22), и структуру цикла поиска (см. ниже).
3) Задание n константой может быть и допустимо (это зависит от преподавателя и задачи). Но раз начав, следует это делать последовательно: обратите внимание на инициализацию k в стоке 44.
4) Скриншот, очевидно, не от этой программы. Во-первых,  по-видимому, n было равно 3. Во-вторых, в программе исправлена ошибка, видимая на этом скриншоте (min лежит на побочной, а не на главной диагонали).
5) Поиск min (строки 44-52) заметно упростится, если заметить, что k не меняется в цикле (и всё время равно n), а k3 всегда равно i-1 (иными словами, для a[i,j] на побочной диагонали i + j = n + 1). Поэтому и k, и k3 можно убрать.
6) Если элементы массива — произвольные целые, то задача поиска несколько усложняется (поскольку задать min и max за границами диапазона нельзя). Обычный подход — проинициализировать первым элементом, участвующим в поиске (включая инициализацию соответствующих индексов!; он всегда находится, не правда ли), а потом можно либо плюнуть на экономию и оставить всё как есть, либо начать сравнение со следующего (т.е., в Вашем случае, со второй строки).
7) Вы печатаете массив 4 раза. Не пора ли сделать процедуру печати?
8) Переставлять строки так, как это делаете Вы, конечно можно. Но не очень эффективно (на традиционном компьютере, для чистоплюев). Гораздо быстрее и практичнее заметить, что перестановка строк может быть сведена к последовательной перестановке соответствующих элементов.
9) Вы переставляете строки дважды. Ещё одна процедура?
10) Та же самая идея, что и в пункте 8: зачем нам хранить суммы квадратов элементов строк? Ведь вычислив сумму квадратов, мы можем сразу сравнить с текущими значениями min и max, после чего радостно забыть. Кроме того, см. пункты 2 и 5.
В целом, всё хорошо. Программа должна работать. Если у Вас есть вопросы, я готов ответить. Или мы можем перейти к следующей программе.
Добавлено спустя 6 минут 46 секунд:fiks писал(а):
в)Строки с макс. и мин. суммой квадратов элементов 
fiks писал(а):
Это 1 программа,только не соответсвует 3 пункту задания...в задачи я поменял местами столбцы с мин и макс суммой квадратов элементов.
Как мне можно расписать в конце суммы квадратов всех столбцов?
Мне надо,чтобы на экран выводились не только значения столбцов с мин и макс сумм квадратов элементов но и всех остальных...
К сожалению, эта часть 
задания я пока не могу понять. Попробуйте написать подробнее и понятнее.
На всякий случай: i-тая строка массива A: A[i, 1], A[i, 2],… A[i, n]. i-ый столбец массива A: A[1, i], A[2, i],…A[n, i]. От перестановки индексов способ работы с массивом не меняется.