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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2008, 04:54   #1
Ланочка
Новичок
Джуниор
 
Регистрация: 03.05.2008
Сообщений: 2
По умолчанию Наипростейшая задача по одномерным масивам

Дан массив размера N и два целых числа K и M. После элемента массива с номером K вставить M новых элементов с нулевыми значениями.

PS: Я первокурсница по специальности "прикладная математика", к тому же блондинка.
Ланочка вне форума Ответить с цитированием
Старый 03.05.2008, 08:10   #2
Abbatik
Форумчанин
 
Аватар для Abbatik
 
Регистрация: 11.11.2007
Сообщений: 136
По умолчанию

Код:
const n=10,m=5;
var a:array[1..n] of integer;
     b:array[1..n+m] of integer;
     i,k:integer;
begin
  for i:=1 to n do begin
  a[i]:=random(100);
  write(a[i]:4);
  end;
  write('k=');
  readln(k);
  for i:=1 to k do
    b[i]:=a[i];
  for i:=k to k+m do
    b[i]:=0;
  for i:=k+m to n+m do
    b[i]:=a[i-m];
writeln;  
for i:=1 to m+n do write(b[i]:4);
end.
ICQ - 446037211
Abbatik вне форума Ответить с цитированием
Старый 03.05.2008, 11:11   #3
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вообще-то такие задачи принято решать без использования дополнительного массива. По условию задачи нужно вставить ноли в данный массив, а не создавать новый.
Делается это так.
Код:
uses crt;
var a:array[1..50]of integer;
    n,i,j,k,m:integer;
begin
clrscr;
write('Vvedite razmernost massiva:');
readln(n);
write('Vvedite chislo k=[1,n-1] k=');
readln(k);
Write('m=');readln(m);
writeln('Ishodny massiv:');
for i:=1 to n do
   begin
     a[i]:=random(10)+1;
     write(a[i],' ');
   end;
writeln;
i:=1;
while i<=m do
    begin
     for j:=n downto k+1 do
      a[j+1]:=a[j];
      a[k+1]:=0;
      n:=n+1;
      i:=i+1;
    end;
writeln('Rezultat:');
for i:=1 to n do
write(a[i],' ');
readln
end.
puporev вне форума Ответить с цитированием
Старый 03.05.2008, 17:28   #4
Ланочка
Новичок
Джуниор
 
Регистрация: 03.05.2008
Сообщений: 2
По умолчанию

О! Ребята! Огромное спасибо! Огромное спасибо за помощь! Я вам преочень благодарна! Желаю вам всего наилучшего, вы самые лучшие, ещё раз спасибо!!!
Ланочка вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с одномерным массивом _Solomon_ Помощь студентам 1 07.06.2007 12:06