IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Работа с упорядоченным массивом
сообщение
Сообщение #1


Гость






ребят, такая же фигня. в Паскале надо решить такую задачу:
Цитата
вставить число в упорядоченный массив. Вновь образованный массив вывести на экран.

Завтра в универе будет грустно без этой задачи. А в Паскале и вообще в программировании не понимаю НИЧЕГО. вообще дуб дубом. задача то наверное для вас детская, но кто поможет тому МЕГА респект и спасибо! smile.gif :molitva: :molitva: :molitva:

Добавлено (21.12.04 9:55):
сорри, забыл, массив одномерный.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






volvo
Согласен. :yes:
Код

type
 ArrElem = integer;
 ArrType = array[1..1] of ArrElem;
 TArr = object
   Arr:^ArrType;
   private
     ArrSize:word;
   public
       constructor Create;
       destructor Destroy;
       procedure SetArrSize(size:word);
       procedure Enter;
       procedure Print;
       procedure Insert(pos:word,num:integer);
       procedure IncArrSize;
   end;

 constructor TArr.Create;
 begin
   GetMem(Arr,ArrSize * SizeOf(ArrElem));
 end;

 destructor TArr.Destroy;
 begin
   FreeMem(Arr,ArrSize * SizeOf(ArrElem));
 end;

 procedure TArr.SetArrSize(size:word);
 begin
   ArrSize := size;
 end;

 procedure TArr.Enter;
 var
   i:integer;
 begin
   WriteLn('Vvodite elementy postrochno');
   for i := 1 to ArrSize do
   begin
     Write('[',i,']=');
     Read(Arr^[i]);
   end;
 end;

 procedure TArr.Print;
 var
   i:integer;
 begin
   WriteLn('Massiv:');
   for i := 1 to ArrSize do
   WriteLn('[',i,']=',Arr^[i]);
 end;

 procedure TArr.Insert(pos:word,num:integer);
 var
   i:integer;
 begin
  IncArrSize;
  for i := ArrSize downto pos do
    Arr^[i] := Arr^[i-1];
  Arr^[pos] := num;
 end;

 procedure TArr.IncArrSize;
 var
   b:array[1..1000] of ArrElem;
   i,oldsize:integer;
 begin
   for i := 1 to ArrSize do
     b[i] := Arr^[i];
   oldsize := ArrSize;
   SetArrSize(ArrSize+1);
   Create;
   for i := 1 to oldsize do
     arr^[i] := b[i];
 end;

var
 a:TArr;
begin
 a.SetArrSize(5);
 a.Create;
 a.Enter;
 a.Insert(2,0);
 a.Print;
 a.Destroy;
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.11.2025 18:59
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name