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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2008, 01:59   #1
Paige Hollivel
 
Аватар для Paige Hollivel
 
Регистрация: 24.06.2008
Сообщений: 5
Лампочка Подскажите,плиз, как вставить один массив в другой


скажите, плиз, а как более правильно вставить один массив в другой?
Например массив a(n) в b(n) между t и t+1?
Paige Hollivel вне форума Ответить с цитированием
Старый 26.06.2008, 06:30   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

А делается это так:
Код:
uses crt;
var a,b:array[1..100]of integer;
    n,i,j,t,m:integer;
begin
clrscr;
write('Vvedite razmernost massivov n=');
readln(n);
randomize;
writeln('Massiv A:');
for i:=1 to n do
  begin
   a[i]:=random(10);
   write(a[i],' ');
  end;
writeln;
writeln('Massiv B:');
for i:=1 to n do
  begin
   b[i]:=random(10)+10;
   write(b[i],' ');
  end;
writeln;
write('Vvedite 1<t<n t=');readln(t);
i:=1;m:=n;{т.к. n будет увеличиваться, запомним ее в m-количество вставок}
while i<=m do
   begin
     for j:=n downto t+1 do{сдвигаем от t все элементы на один вправо}
     a[j+1]:=a[j];
     a[t+1]:=b[m-i+1];{вставляем на свободное место последний элемент массива В}
     n:=n+1; {увеличиваем размер массива А}
     i:=i+1; {переходим к следующему (предпоследнему) элементу массива В)}
   end;       {повторяем это m раз}
writeln('Rezultat:');
for i:=1 to n do
write(a[i],' ');
readln
end.
puporev вне форума Ответить с цитированием
Старый 26.06.2008, 11:08   #3
Paige Hollivel
 
Аватар для Paige Hollivel
 
Регистрация: 24.06.2008
Сообщений: 5
Радость

Спасибо большое)))
Paige Hollivel вне форума Ответить с цитированием
Старый 01.07.2008, 10:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
puporev
А я бы так сделал:
Код:
var i:integer; a,b:array[1..250] of char;
begin
 for i:=0 to 20 do a[i]:=chr(ord('a')+i);
 for i:=0 to 5 do b[i]:=chr(ord('1')+i);
 move(a[4],a[4+3],3);
 move(b[1],a[4],3);
end;
Здесь в четветрую позицию вставляются три элемента другого массива.
Короче код
Цитата:
puporev
А я бы так сделал:
Код:
var i:integer; a,b:array[1..250] of char;
begin
 for i:=0 to 20 do a[i]:=chr(ord('a')+i);
 for i:=0 to 5 do b[i]:=chr(ord('1')+i);
 move(a[4],a[4+3],3);
 move(b[1],a[4],3);
end;
Здесь в четветрую позицию вставляются три элемента другого массива.
Короче код и шустее
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставить данные из одного листа (таблицы) в другой kartol Microsoft Office Excel 30 11.08.2008 10:43
Как скопировать текст в буфер обмена с одного edit-a и вставить в другой SeRhy Общие вопросы Delphi 2 26.07.2008 23:02
Вставить 'кусок' другой страницы N!ckeL HTML и CSS 5 25.06.2008 01:43
Нужно вставить счетчик операций в прогу плиз хелп! Tanzilit Помощь студентам 2 12.12.2007 17:01