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

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

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

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


Гость






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

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

Добавлено (21.12.04 9:55):
сорри, забыл, массив одномерный.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
mithquessir
сообщение 22.12.2004 18:26
Сообщение #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.
 К началу страницы 
+ Ответить 

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


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

 



- Текстовая версия 27.07.2025 11:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"