Yozj

Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Marusya89 Код: var matrix: array[1..6, 1..6] of Real; arr: array[1..100] of Real; n: Integer; i, j: Integer; sum: Real; begin // здесь сперва заполняешь матрицу // далее заполоняем массив n := 0; for i := 1 to 6 do for j := 1 to 6 do begin if matrix[i, j] > 0.5 then begin n := n + 1; arr[n] := matrix[i, j]; end; end; // теперь ищем среднее арифметическое if n > 0 then begin sum := 0; for i := 1 to n do sum := sum + arr[n]; srednee := sum/n; WriteLn('Srednee arifmeticheskoe = ',srednee); end else WriteLn('Massiv pustoi.') end. | Добавлено: x_under Цитата: Программа, считывает файл (*.txt) в котором записан массив из n-ного количества чисел, этот массив копирует в буфер и создает еще один файл (*.txt). Начинается сортировка: из всего массива находится наибольшее число, копирует в недавно созданный файл и так со всеми остальными числами. Так как копирование происходит последовательно, то числа становятся в ряд по убыванию. | тебе тут сортировка вообще не нужна, никакой пузырёк. Код: const ARRAY_SIZE = 100; var fFrom, fTo: File of Integer; arr: array[1..ARRAY_SIZE] of Integer; n: Integer; i: Integer; element, max: Integer; maxIndex: Integer; begin Assign(fFrom, 'fileFrom.txt'); Assign(fTo, 'fileTo.txt'); Reset(fFrom, 1); Rewrite(fTo); // читаем файл в массив n := 0; while not eof(fFrom) do begin Read(fFrom, element); n := n + 1; arr[n] := element; end; // ищем максимальный элемент и пишем его в файл // трюк в том, что найдя максимальный элемент - делаем его минимальным, чтобы он не попал нам второй раз max := 0; while max > -1 do begin max := -1; for i := 1 to n do begin if arr[i] > max then begin max := arr[i]; maxIndex := i; end; end; if max > -1 then begin Write(fTo, max); arr[maxIndex] := -1; end; end; Close(fFrom); Close(fTo); end. |
|