Правила безопасного использования сети интернет вы должны это знать: при регистрации на сайтах, старайтесь не указывать личную информацию, т.к. она может быть доступна незнакомым людям. так же, не рекомендуется размещать свою фотографию, давая, тем самым, представление о том, как вы выглядите, посторонним людям. используйте веб-камеру только при общении с друзьями. проследите, чтобы посторонние люди не имели возможности видеть ваш разговор, т.к. он может быть записан. нежелательные письма от незнакомых людей называются «спам». если вы получили такое письмо, не отвечайте на него. в случае, если вы ответите на подобное письмо, отправитель будет знать, что вы пользуетесь своим электронным почтовым ящиком и будет продолжать посылась вам спам. если вам пришло сообщение с незнакомого адреса, его лучше не открывать. подобные письма могут содержать вирусы. если вам приходят письма с неприятным и оскорбляющим вас содержанием, если кто-то ведет себя в вашем отношении неподобающим образом, сообщите об этом. если вас кто-то расстроил или обидел, расскажите все взрослому.
type R = record sum: integer; nom: integer end; vR = array[1..n] of R; tm = array[1..m, 1..n] of integer;
function SumCol(a: tm; k: integer): integer; { Сумма элементов в k-м столбце (колонке) матрицы а } var i, s: integer; begin s := 0; for i := 1 to m do s := s + a[i, k]; SumCol := s end;
procedure Swp(var a, b: R); { Меняет местами элементы a и b } var t: R; begin t := a; a := b; b := t end;
procedure Shell(var a: vR); { сортировка методом Шелла по убыванию } var i, j, step: integer;
begin step := n div 2; while step > 0 do begin for j := n - step downto 1 do begin i := j; while i <= n - step do begin if a[i].sum < a[i + step].sum then Swp(a[i], a[i + step]); i := i + step end end; step := step div 2 end end;
var a, c: tm; b: vR; i, j: integer;
begin Randomize; Writeln('*** Исходные элементы массива ***'); for i := 1 to m do begin for j := 1 to n do begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end; Writeln end; { формируем вектор сумм по столбцам } for j := 1 to n do begin b[j].sum := SumCol(a, j); b[j].nom := j; end; { сортируем полученный вектор по убыванию сумм } Shell(b); { осуществляем перестановку во вс массив с} for j := 1 to n do for i := 1 to m do c[i, j] := a[i, b[j].nom]; { копируем содержимое вс массива с в массив а } Writeln('*** Результирующие элементы массива ***'); for i := 1 to m do begin for j := 1 to n do begin a[i, j] := c[i, j]; Write(a[i, j]:4) end; Writeln end end.