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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2010, 19:10   #1
lulik
Новичок
Джуниор
 
Регистрация: 09.06.2010
Сообщений: 1
По умолчанию Сортировка массивов

помогите пожалуйста, мне надо сформировать массив случайных чисел из 10 элементов и переставить в его начало все положительные элементы. У меня вот что получилось, но ничего ен выходит. Подскажите как должно быть.
program Lab7;
uses Crt,Graph;
const
B=0; N=10; M=130;
var DriverVar,ModeVar,Ec:integer;
var A,Ar:array[1..N] of integer; MaxA,Ma:real;
D,I,J,H,Qr,Pr:integer;
F:text;
begin;
Assign(F,'Lab7.rez');
Rewrite(F);
Clrscr;
Randomize;
Writeln(F,'Исходный массив');
for I:=1 to N do
begin
A[I]:= Random(M)-30;
Write(F,A[I],' ');
end;
Writeln(F);
for I:=2 to N do
if Abs(A[I])>B then
begin
D:=A[I];
J:=I;
repeat
A[J]:=A[J-1];
J:=J-1;
until J<=1;
A[1]:=D;
end;
Writeln(F);
Writeln(F,'Массив после перестановки элементов');
for H:=1 to N do Write(F,A[H],' ');
Close(F);
MaxA:=0;
for I:=0 to N do
begin
if Abs(A[I])>MaxA then
MaxA:=Abs(A[I]);
end;
DriverVar:=Detect;
InitGraph(DriverVar,ModeVar,'');
setlinestyle(0,0,3);
setbkcolor(1);
setcolor(8);
Line(10,GetMaxY div 2,GetMaxX-10,GetMaxY div 2);
Ma:=(GetMaxY div 2-40)/MaxA;
for I:=1 to N do
Ar[I]:=-Round(A[I]*Ma)+GetMaxY div 2;
setcolor(2);
for I:=1 to N do
begin
SetFillstyle(1,3);
Bar(I*20,Ar[I],I*20+10,GetMaxY div 2);
end;
setlinestyle(3,0,1);
setcolor(4);
Readln;
CloseGraph;
end.
lulik вне форума Ответить с цитированием
Старый 10.06.2010, 20:43   #2
Pro_RocK
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 10
По умолчанию

Код:
var a:array[1..10]of integer;
i,t,j:integer;
begin
randomize;
for i:=1 to 10 do begin
    a[i]:=random(50)-30;
    write(a[i],' ');
end;writeln;
for i:=1 to 9 do
for j:=i+1 to 10 do
if a[i]<a[j] then begin
                       t:=a[i];
                       a[i]:=a[j];
                       a[j]:=t;
                  end;
for i:=1 to 10 do
write(a[i],' ');
readln;
end.
Pro_RocK вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массивов... Goldcoding Помощь студентам 0 30.05.2010 23:47
Сортировка массивов IngaInga Помощь студентам 1 25.05.2010 16:50
сортировка динамических массивов в Си тина сорока Помощь студентам 2 26.02.2010 00:39
Сортировка массивов Devi_dark Помощь студентам 1 04.04.2009 19:46