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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2012, 21:45   #1
Kries
 
Регистрация: 15.04.2012
Сообщений: 5
Вопрос Получение массива, паскаль

Добрый вечер, задача следующая:

С помощью функции RANDOM получить массив размерностью [0..20].
Упорядочить его по возрастанию.


Заранее премного благодарен.
Kries вне форума Ответить с цитированием
Старый 15.04.2012, 21:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

И в чем проблема?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.04.2012, 22:10   #3
Kries
 
Регистрация: 15.04.2012
Сообщений: 5
По умолчанию

for i:=1 to 21 do
a:=random*10;

for i:=1 to 1 do
begin
for i:=1 to 2 do
begin
if a<a[i+1]>;
a:=a[i+1];
a[i+1]:=b;
end;
end;
end


идея такая, но, к сожалению, с программированием траблы
Kries вне форума Ответить с цитированием
Старый 15.04.2012, 22:12   #4
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Сделай вот так!!!


Код:

TYPE
  mas=array  of integer;
VAR
  a:mas;
  n,i,j:integer;
{Сортировка методом пузырька}
PROCEDURE BubbleSort;
 Var
   Temp:integer;
 BEGIN
  For i:=0 to n-1 do
   For j:=0 to n-i-1 do
    IF A[j]>A[j+1] Then
     Begin
       Temp:=A[j];
       A[j]:=A[j+1];
       A[j+1]:=Temp;
     End;
 END;

BEGIN
 Randomize;
 Write('Vvedite kolichestvo chisel v massive: ');
 Readln(n);
 SetLength(a,n);
 For i:=0 to n do
   a[i]:=random(21);
 Writeln('Starij massiv:');
 For i:=0 to n do
   Writeln(a[i]);
 Writeln;
 BubbleSort;
 Writeln('Otsortirovannij massiv')
 For i:=0 to n do
    Writeln(a[i]);
 Readln;
END.
<----Весы Там.

Последний раз редактировалось Npwas; 15.04.2012 в 22:17.
Npwas вне форума Ответить с цитированием
Старый 15.04.2012, 22:56   #5
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от Npwas Посмотреть сообщение
Сделай вот так!!!
Щас научишь...

Во-первых динамический массив тут не нужен, в задании четко сказано:
Цитата:
Сообщение от Kries Посмотреть сообщение
получить массив размерностью [0..20]
Во-вторых, использовать глобальные переменные (массив A, размерность n) конечно можно, но не желательно.

В третих я бы выводил в строчку:
Код:
const
  n=20;
TYPE
  mas=array[0..n]of integer;

PROCEDURE BubbleSort(var A:mas);
 Var
   Temp:integer;
   i:integer;
 BEGIN
  For i:=0 to n-1 do
   For j:=0 to n-i-1 do
    IF A[j]>A[j+1] Then
     Begin
       Temp:=A[j];
       A[j]:=A[j+1];
       A[j+1]:=Temp;
     End;
 END;

VAR
  a:mas;
  i:integer;


BEGIN
 Randomize;
// Write('Vvedite kolichestvo chisel v massive: ');
// Readln(n);
// SetLength(a,n);
 For i:=0 to n do
   a[i]:=random(21);
 Writeln('Starij massiv:');
 For i:=0 to n do
   Write(a[i],' ');
 Writeln;
 BubbleSort(a);
 Writeln('Otsortirovannij massiv');
 For i:=0 to n do
    Write(a[i],' ');
 Readln;
END.
Хотя, по большему счету, оба варианта приемлемые, чисто для общего развития вариант с динамическим массивом будет лучше, а вот использование глобальных переменных наоборот.

Так что, если хотим динамический, то делаем так:
Код:
TYPE
  mas=array of integer;

PROCEDURE BubbleSort(var A:mas);
 Var
   Temp:integer;
   i,j:integer;
 BEGIN
  For i:=0 to high(A) do
   For j:=0 to high(A)-i do
    IF A[j]>A[j+1] Then
     Begin
       Temp:=A[j];
       A[j]:=A[j+1];
       A[j+1]:=Temp;
     End;
 END;

VAR
  a:mas;
  i,j,n:integer;
{Сортировка методом пузырька}


BEGIN
 Randomize;
 Write('Vvedite kolichestvo chisel v massive: ');
 Readln(n);
 SetLength(a,n);
 Writeln('Starij massiv:');
 For i:=0 to high(a) do
 begin
   a[i]:=random(21);
   Write(a[i],' ');
 end;
 Writeln;
 BubbleSort(a);
 Writeln('Otsortirovannij massiv');
 For i:=0 to high(a) do
    Write(a[i],' ');
 Readln;
END.
Все тривиальное просто

Последний раз редактировалось whatever; 15.04.2012 в 23:02.
whatever вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение данных переменной ввиде массива байтов chertovich Общие вопросы Delphi 3 18.12.2010 21:51
Получение массива байт JPanel BleStaR Общие вопросы по Java, Java SE, Kotlin 0 15.12.2010 17:20
Получение массива(StringGrid) B ByFly Помощь студентам 0 22.11.2010 10:26
Delphi получение данных из массива? kino Помощь студентам 2 16.12.2009 22:06
Рандомизационное получение координат массива без повторения. Alex Cones Общие вопросы Delphi 4 08.06.2009 17:38