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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.05.2011, 19:58   #1
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
Восклицание Задание в Паскале,с использованием одиночного массива

Создать программу, которая указывает (находит, определяет) время образования массива чисел, типа REAL :

1. Сравнение производит тремя методами : «разделяй и властвуй», сортировка Шелла, методом вставки (скорее всего подразумеваются методы сортировки обменом, выбором и вставкой);
2. Размеры массивов – максимально возможные;
3. Начальные значения создать (образовать), используя генератор случайных чисел, но для всех трех методов (или же ...во всех трех методах...) содержание массивов должно быть одинаковым (должно совпадать);
4. Упорядочение производить созданому, упорядоченному и упорядоченному «задом наперед» (наверное подразумевается – от большего к меньшему) массивам;
5. Полученные время (миллисекунды) сохранять в массиве;
6. Результаты перевести в секунды и сохранить в форме таблицы.
Novenkaja вне форума Ответить с цитированием
Старый 07.05.2011, 20:36   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

А что собственно такое это
Цитата:
время образования массива чисел
И как оно согласуется с
Цитата:
Начальные значения создать (образовать), используя генератор случайных чисел
Цитата:
Полученные время (миллисекунды) сохранять в массиве;
Откуда полученные?
Цитата:
Упорядочение производить созданому, упорядоченному и упорядоченному «задом наперед» (наверное подразумевается – от большего к меньшему) массивам;
По моему бред. Где смысл упорядочивать упорядоченный массив? Или я может чего не понимаю?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 07.05.2011, 20:44   #3
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

я не знаю,как иначе всё это пояснить,т.к. это дословный перевод с другово языка....

Первое можно перевести ещё вот так-создать программу, что обусловливает времена приведения массива в порядок для чисел real типа

как согласуется затрудняюст ответить,не совсем поняла то,что имел в веду ты

видимо эти милесекунды полученны из предыдущих пунктов,т.к. тут один с другим взаимосвязанн

последний пункт можно иными словами перевести вот так-
приведение в порядок выполнять созданному, приведенному в порядок и для приведенного в порядок в противоположную последовательность массива
Novenkaja вне форума Ответить с цитированием
Старый 07.05.2011, 22:26   #4
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Пальцем в небо
Код:
Type
  Vekt=array[1..20] of Real;
Var
  Mas,Buf:Vekt;
  Matr:array[1..5,1..4] of Real;
  i,j,k:Byte;
Procedure sortObmenom(Var Vk:Vekt;n:Byte);
Var
  i,j:Byte;
  x:Real;
Begin
     for i:=1 to n-1 do
     for j:=i+1 to n do
     if Vk[i]>Vk[j] then
     begin
       x:=Vk[i];
       Vk[i]:=Vk[j];
       Vk[j]:=x;
      end;
End;
begin
  Randomize;
  For i:=1 to 20 do
  Begin
    Mas[i]:=Random(200)/100;
    Write(Mas[i]:4:2,'  ')
  End;
  Writeln;
  Writeln;
   For i:=1 to 20 do
  Buf[i]:=Mas[i];
  SortObmenom(Buf,20);
  For i:=1 to 20 do Write(buf[i]:4:2,'  ');
  Writeln;
  k:=1;
  For i:=1 to 5 do
  Begin
    For j:=1 to 4 do
    Begin
      Matr[i,j]:=(Buf[k]*100);
      Write(Matr[i,j]:3:0,'  ');
      inc(k)
    End;
    Writeln
  End;
  Writeln;
  Readln
End.
P.s.Реализована лишь сортировка методом обмена. Остальное - на самостоятельное изучение.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 07.05.2011, 23:35   #5
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

GetMax

всё равно спасибо))))
а тут только первый пункт первым методом или первый метод по всем пунктам?
Novenkaja вне форума Ответить с цитированием
Старый 08.05.2011, 14:00   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

на TP код) и массивы integer а не real
Код:
uses DOS;
const Max=1000;
type TArray=array[1..max] of Integer;
var a,b,c:TArray;
i,j:Integer;
T:array[1..3,1..3] of Integer;

Function GetTickCount: LongInt;
Var h, m, s, ms: Word;
begin
 dos. GetTime(h, m, s, ms);
  GetTickcount := ms + 100 * (s + 60 * (m + 60 * h));
end;

procedure Write1(var item: TArray; count:integer);
var i:Integer;
begin
 for i:=1 to count do
 write(item[i],'  ');
end;
procedure Select(var item: TArray; count:integer);
var
  i, j, k: integer;
  x: integer;
begin
  for i := 1 to count-1 do
    begin
      k := i;
      x := item[i];
      for j := i+1 to count do
      if item[j]<x then
        begin
          k := j;
          x := item[j];
        end;
      item[k] := item[i];
      item[i] := x;
         end;
end;
Procedure Change(Var  item: TArray; count:integer);
Var
  i,j:Byte;
  x:integer;
Begin
     for i:=1 to count-1 do
     for j:=i+1 to count do
     if item[i]>item[j] then
     begin
       x:=item[i];
       item[i]:=item[j];
       item[j]:=x;
      end;
End;

procedure Insert(Var  item: TArray; count:integer);
var i, j, buf:integer;
begin
for i:=2 to count do
begin
buf:=item[i];
j:=i-1;
while (j>=1) and (item[j]>buf) do
begin
item[j+1]:=item[j];
j:=j-1;
end;
item[j+1]:=buf;
end;
end ;

procedure Select2(var item: TArray; count:integer);
var
  i, j, k: integer;
  x: integer;
begin
  for i := 1 to count-1 do
    begin
      k := i;
      x := item[i];
      for j := i+1 to count do
      if item[j]>x then
        begin
          k := j;
          x := item[j];
        end;
      item[k] := item[i];
      item[i] := x;
         end;
end;


Procedure Change2(Var  item: TArray; count:integer);
Var
  i,j:Byte;
  x:integer;
Begin
     for i:=1 to count-1 do
     for j:=i+1 to count do
     if item[i]<item[j] then
     begin
       x:=item[i];
       item[i]:=item[j];
       item[j]:=x;
      end;
End;


procedure Insert2(Var  item: TArray; count:integer);
var i, j, buf:integer;
begin
for i:=2 to count do
begin
buf:=item[i];
j:=i-1;
while (j>=1) and (item[j]<buf) do
begin
item[j+1]:=item[j];
j:=j-1;
end;
item[j+1]:=buf;
end;
end;
begin
 Randomize;
 For i:=1 to Max do begin
  t[1,1]:=Random(1000);
  a[i]:=t[1,1];
  b[i]:=t[1,1];
 c[i]:=t[1,1];
 end;


 t[1,1]:=GetTickCount;
 Select(a,max);
 t[1,1]:=GetTickCount-t[1,1];

 t[2,1]:=GetTickCount;
 Change(b,max);
 t[2,1]:=GetTickCount-t[2,1];

 t[3,1]:=GetTickCount;
 Insert(c,max);
 t[3,1]:=GetTickCount-t[3,1];

 t[1,2]:=GetTickCount;
 Select(a,max);
 t[1,2]:=GetTickCount-t[1,2];

 t[2,2]:=GetTickCount;
 Change(b,max);
 t[2,2]:=GetTickCount-t[2,2];

 t[3,2]:=GetTickCount;
  Insert(c,max);
 t[3,2]:=GetTickCount-t[3,2];

Select2(a,max);
Change2(b,max);
Insert2(c,max);


 t[1,3]:=GetTickCount;
 Select(a,max);
 t[1,3]:=GetTickCount-t[1,3];

 t[2,3]:=GetTickCount;
 Change(b,max);
 t[2,3]:=GetTickCount-t[2,3];
 t[3,3]:=GetTickCount;
  Insert(c,max);
 t[3,3]:=GetTickCount-t[3,3];

 write('      BbI6op              O6MeH        BCTABKu');
 Writeln;
 for i:=1 to 3 do begin
 for j:=1 to 3 do
 write((T[i,j]):15);
 Writeln; end;
  readln;
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 08.05.2011 в 14:18.
Mad_Cat вне форума Ответить с цитированием
Старый 08.05.2011, 14:48   #7
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

Mad_Cat

Спасибо тебе огромное!!!!!!

на TP код) и массивы integer а не real

Только не поняла, что такое ТР и почему массив integer, а не real? По заданию же сказано, что массив должен быть real. Или в таком типе задание будет выполнено неверно?

Проверила-компилирует,но как нажимаю ран-вылетает от туда и пишет exited with exitcode=201

Последний раз редактировалось Novenkaja; 08.05.2011 в 14:53.
Novenkaja вне форума Ответить с цитированием
Старый 08.05.2011, 15:33   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

TP-ТурбоПаскаль
Цитата:
массивы integer а не real
исправлять некогда было
Цитата:
Проверила-компилирует,но как нажимаю ран-вылетает от туда и пишет exited with exitcode=201
под Fpc может не работать почему7 хз)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 08.05.2011, 15:49   #9
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

ясно,всё равно спасибо
Novenkaja вне форума Ответить с цитированием
Старый 08.05.2011, 16:20   #10
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

под FPC 2.4.0 ну и массив- real
Код:
uses windows;
const Max=1000;
type TArray=array[1..max] of real;
var a,b,c:TArray;
h,z:Integer;
T:array[1..3,1..3] of real;


procedure Write1(var item: TArray; count:integer);
var i:Integer;
begin
 for i:=1 to count do
 write(item[i],'  ');
end;

procedure Select(var item: TArray; count:integer);
var
  i, j, k: integer;
  x: real;
begin
  for i := 1 to count-1 do
    begin
      k := i;
      x := item[i];
      for j := i+1 to count do
      if item[j]<x then
        begin
          k := j;
          x := item[j];
        end;
      item[k] := item[i];
      item[i] := x;
         end;
end;
Procedure Change(Var  item: TArray; count:integer);
Var
  i,j:integer;
  x:real;
Begin
     for i:=1 to count-1 do
     for j:=i+1 to count do
     if item[i]>item[j] then
     begin
       x:=item[i];
       item[i]:=item[j];
       item[j]:=x;
      end;
End;

procedure Insert(Var  item: TArray; count:integer);
var i, j:integer;buf:real;
begin
for i:=2 to count do
begin
buf:=item[i];
j:=i-1;
while (j>=1) and (item[j]>buf) do
begin
item[j+1]:=item[j];
j:=j-1;
end;
item[j+1]:=buf;
end;
end ;

procedure Select2(var item: TArray; count:integer);
var
  i, j, k: integer;
  x: real;
begin
  for i := 1 to count-1 do
    begin
      k := i;
      x := item[i];
      for j := i+1 to count do
      if item[j]>x then
        begin
          k := j;
          x := item[j];
        end;
      item[k] := item[i];
      item[i] := x;
         end;
end;


Procedure Change2(Var  item: TArray; count:integer);
Var
  i,j:integer;
  x:real;
Begin
     for i:=1 to count-1 do
     for j:=i+1 to count do
     if item[i]<item[j] then
     begin
       x:=item[i];
       item[i]:=item[j];
       item[j]:=x;
      end;
End;


procedure Insert2(Var  item: TArray; count:integer);
var i, j:integer;
 buf:real;
begin
for i:=2 to count do
begin
buf:=item[i];
j:=i-1;
while (j>=1) and (item[j]<buf) do
begin
item[j+1]:=item[j];
j:=j-1;
end;
item[j+1]:=buf;
end;
end;
begin
 Randomize;
 For h:=1 to Max do begin
  t[1,1]:=Random(1000);
  a[h]:=t[1,1];
  b[h]:=t[1,1];
 c[h]:=t[1,1];
 end;


 t[1,1]:=GetTickCount;
 Select(a,max);
 t[1,1]:=GetTickCount-t[1,1];

 t[2,1]:=GetTickCount;
 Change(b,max);
 t[2,1]:=GetTickCount-t[2,1];

 t[3,1]:=GetTickCount;
 Insert(c,max);
 t[3,1]:=GetTickCount-t[3,1];

 t[1,2]:=GetTickCount;
 Select(a,max);
 t[1,2]:=GetTickCount-t[1,2];

 t[2,2]:=GetTickCount;
 Change(b,max);
 t[2,2]:=GetTickCount-t[2,2];

 t[3,2]:=GetTickCount;
  Insert(c,max);
 t[3,2]:=GetTickCount-t[3,2];

Select2(a,max);
Change2(b,max);
Insert2(c,max);


 t[1,3]:=GetTickCount;
 Select(a,max);
 t[1,3]:=GetTickCount-t[1,3];

 t[2,3]:=GetTickCount;
 Change(b,max);
 t[2,3]:=GetTickCount-t[2,3];
 t[3,3]:=GetTickCount;
  Insert(c,max);
 t[3,3]:=GetTickCount-t[3,3];

 write('      BbI6op              O6MeH        BCTABKu');
 Writeln;
 for h:=1 to 3 do begin
 for z:=1 to 3 do
 write((T[h,z]):15:3);
 Writeln; end;
  readln;
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание с использованием массива в паскале Novenkaja Помощь студентам 11 09.03.2011 15:10
Задание в Паскале с использованием рекурсии Novenkaja Паскаль, Turbo Pascal, PascalABC.NET 8 15.02.2011 21:27
Задача с использованием массива User01 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2011 18:56
Задание массива Alex Cones Общие вопросы Delphi 11 10.05.2010 11:15
помогите сделать задание с использованием расширения .chm 4e4en HTML и CSS 3 03.12.2009 23:04