Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

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.
 


Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 00:31 10-12-2007 | Исправлено: SERGE_BLIZNUK, 22:23 10-12-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru