Отсортировать положительные элементы столбца матрицы по убыванию - Turbo Pascal
Формулировка задачи:
Здравствуйте! Прошу помощи. Прошу подправить код. Не совсем корректно выводит. Вот задание.Среди столбцов заданной целочисленной матрицы, содержащих ТОЛЬКО такие элементы, которые по модулю не больше числа Р, найти столбец с минимальной суммой элементов
Отсортировать положительные элементы этого столбца по убыванию.
Решение задачи: «Отсортировать положительные элементы столбца матрицы по убыванию»
textual
Листинг программы
program zd; const n = 5; var a: array[1..n, 1..n] of integer; i, j, k, s, p, sum: integer; flag: boolean; begin randomize; for i := 1 to n do begin for j := 1 to n do begin a[i, j] :=integer(random(15))-2; write(a[i, j],' '); end; writeln; end; writeln('Vvedite chislo P');readln(p); Writeln('Znacheniya summy stolbtsov'); k := 0;s:=maxint; for j := 1 to n do begin sum := 0;flag := true; for i := 1 to n do begin flag := (abs(a[i, j]) <= p) and flag; if flag then sum := sum + a[i, j]; end; if flag and (s > sum) then begin write(sum, ' '); k := j;s := sum; end else write(' - '); end; writeln; s := 1; if k = 0 then writeln('Net takih stolbcov.') else begin writeln('Nomer stolbtsa s minimalnoi summoi: ', k); for j:= 1 to n do for i := j to n do begin if (a[j, k] > 0) and (a[i, k] > 0)and (a[j, k] > a[i, k])then begin p := a[i, k]; a[i, k] := a[j, k]; a[j, k] := p; s := i; end; end; end; writeln; for i := 1 to n do begin for j := 1 to n do write(a[i, j]:4); writeln; end; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д