SERGE_BLIZNUK
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Код: var M1 : array[1..10,1..10] of real; M2 : array[1..10] of real; i,j : integer; S : real; IndexMax : integer; begin {заполнить массив случайными значениями от 0 до 1000} Randomize; for i:=1 to 10 do for j:=1 to 10 do M1[i,j] := Random(1000); {вывести исходный массив} for i:=1 to 10 do begin for j:=1 to 10 do Write(M1[i,j]:1:1,' '); WriteLn; end; {посчитаем средние значения строк и занесём их в массив} for i:=1 to 10 do begin S := 0; for j:=1 to 10 do S := S + M1[i,j]; M2[i] := S / 10; end; {напечатаем массив M2 ДО сортировки} WriteLn('Средние значения:'); for j:=1 to 10 do Write(M2[j]:5:2,' '); WriteLn; {сортировка методом "пузырька" (методом простого выбора ) Выбирается максимальный элемент массива и меняется местами с первым элементом массива. Затем процесс повторяется с оставшимися элементами и т. д. } for i:=1 to 9 do begin IndexMax := i; {предварительно считаем, что первый элемент наибольший} {ищем индекс максимального элемента} for j:=i+1 to 10 do if M2[j]>M2[IndexMax] then IndexMax := j; {меняем местами элементы массива с индексами i и IndexMax (ну, если они не равны, конечно) } if i<>IndexMax then begin S := M2[IndexMax]; M2[IndexMax] := M2[i]; M2[i] := S; end; end; {напечатаем массив M2 после сортировки} WriteLn('Средние значения после сортировки:'); for j:=1 to 10 do Write(M2[j]:5:2,' '); end. | |