Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2010, 12:51   #1
Морячок
Новичок
Джуниор
 
Регистрация: 05.06.2010
Сообщений: 13
По умолчанию беда

народ привет! кто шарит в паскале, нужна помощь, плиз. завтра курсовая а прога не идет по чему не понимаю!!! кто может помочь, спасите!!! жду ответ! вот прога, нужно чтобы элементы массива стояли в порядке возрастания а не в разноброд как у меня(((

program Max_search;
uses crt;
const m=10;
type vector=array[1..m] of integer;
var a:vector;
i,j,imax,max,p,d:integer;
n:real;
Begin
clrscr;
randomize;
writeln('Ñîçäàíèå ìàññèâà è åãî âûâîä');
for i:=1 to m do
begin
p:=random(10);
a[i]:=p-1;
write(a[i]:3);
end;
max:=a[1];
for i:=2 to m do
if max<a[i] then
begin
max:=a[i];
imax:=i
end;
writeln;
writeln('çíà÷åíèå ìàêñèìàëüíîãî=',max);
writeln('Èíäåêñ ìàêñèìàëüíîãî=',imax);
{óïîðÿäî÷åíèå ýëåìåíòîâ ìàññèâà Z}
for i:=1 to m-1 do
for j:=1 to m-i do
if a[i]>=a[i+1] then
begin
d:=a[i];
a[i]:=a[i+1];
a[i+1]:=d;
writeln('Óïîðÿäî÷åííûé ìàññèâ Z');
for i:=1 to m do write (a[i]:3);
writeln;
readln;
end;
end.
Морячок вне форума Ответить с цитированием
Старый 05.06.2010, 13:12   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
for i:=1 to m-1 do
  for j:=1 to m-i do
    if a[j]>=a[j+1] then
       begin
          d:=a[j];
          a[j]:=a[j+1];
          a[j+1]:=d;
       end;
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 05.06.2010, 15:40   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

А может так правильнее будет, ась???? Это ж обычная линейная сортировка...
Код:
for i:=1 to m-1 do
  for j:=i+1 to m do
    if a[i]>a[j] then
       begin
          d:=a[i];
          a[i]:=a[j];
          a[j]:=d;
       end;
А вот так еще интереснее будет!
Код:
for i:=1 to m-1 do
  for j:=i+1 to m do
    if a[i]>a[j] then
       begin
          a[i]:=a[i]+a[j];
          a[j]:=a[i]-a[j];
          a[i]:=a[i]-a[j]
       end;
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 05.06.2010 в 15:48.
Grag вне форума Ответить с цитированием
Старый 05.06.2010, 15:41   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

а чё у меня неверно чтоли?
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
беда на форме lamerk Microsoft Office Access 2 29.11.2009 18:28
Беда с установкой проги!:(( billidean Общие вопросы .NET 0 22.09.2008 19:17
Беда не приходит одна! Tayfun Свободное общение 6 30.12.2007 07:58