Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


yulia_hoi, e-Hector, насочиняли вы тут конечно ...
e-Hector, обрати внимание как девушка задает массивы. Использование одной константы более правильный подход.
yulia_hoi,
Ты что-то перемудрила с сортировкой. Зачем-то вписать downto т.е. сравниваешь элементы двигаясь на встречу друг другу.
Возьми процедуру e-Hector`а. (Доработав "под себя")
Код: Выделить весь код
procedure sort(var r, g:ms); {Создание сортированного массива}
var
buf:integer;
begin
for i:=1 to h do
  g[i]:=r[i];
for i:=1 to h-1 do
  for j:=i to h do
   if g[i]<g[j] then
    begin
    buf:=g[i];
    g[i]:=g[j];
    g[j]:=buf;
    end;
end;
Это простейшая сортировка пузырьком.
Вот этого я не понял.
Код: Выделить весь код
   for i:=1 to m do
    begin
     a2[i]:=a1[m-i+1];
     b2[i]:=b1[m-i+1];
    end;
Все остальное должно работать. Ну можно конечно красоты и порядку ради вывод массивов в процедуру оформить.
Опять же у e-Hector, это наглядно сделано.
Зачем нужен random(10)-1 ? это даст разброс от -1 до 9. Дело хозяйское, я просто интересуюсь. Ошибки тут нет.

Общее для всех замечание.
Что называется главной диагональю в квадратной матрице?
Зачем перебирать весь квадрат совершая n^2-n ненужных операций сравнений?
Код: Выделить весь код
   for i:=1 to m do
    for j:=1 to m do
     if i=j then begin
                  a1[i]:=a[i,j];
                  b1[i]:=b[i,j];
                 end;
Легко заменяется на
Код: Выделить весь код
   for i:=1 to m do
                  a1[i]:=a[i,i];
                  b1[i]:=b[i,i];
                 end;
P.S. т.ч. e-Hector, прикуси язычок ;-)

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 03:05, 08-01-2010 | #4