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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2011, 11:00   #1
allod26
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 10
По умолчанию Задачки на одномерный массив.

1) Вставить элемент после первого отрицательного элемента.
2) Дан одномерный массив чисел а. Cформируйте такой массив b, который содержит копию положительных элементов массива а.

Помогите решить две простенькие задачки :3
allod26 вне форума Ответить с цитированием
Старый 30.10.2011, 11:08   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

А что значить "вставить"?
Ты когда-нибудь пробовал вставить червонец между правым и левым карманом?
Если речь о раздвижении остальных элементов, то говори, куда девать те, которые сдвинутся за край..

"Простенькими" эти задачи станут тогда, когда ты нормально поставишь условия..
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 30.10.2011, 12:20   #3
allod26
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 10
По умолчанию

Вставить, означает добавить
пример:

было
1 6 -5 7 2

например добавим 9

1 6 -5 9 7
allod26 вне форума Ответить с цитированием
Старый 30.10.2011, 13:48   #4
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

Код:
var
  x:array[1..100] of integer;
  n:integer;
  A:integer;
  i:integer;
  p:integer;
BEGIN
  write ('n=');
  read (n);
  if (n>=100) then Begin
    writeln('n слишком большое');
    exit;
  end;
  write('A=');
  readln(A);
  randomize;
  For i:=1 to n do
    x[i]:=random(22)-5;
  writeln('Исходный массив:');
  for i := 1 to n do Begin
    write(x[i]:5,' ');
  end;
  writeln;
  p := n+1;
  for i := n downto 1 do
    if (x[i]<0) then p := i;
  if (p > n) then begin
    writeln('отрицательных эементов ненайдено');
    exit;
  end;
  for i := n downto p+1 do
    x[i+1] := x[i];
  x[p+1] := A;
  n := n+1;

  writeln('Результат:');
  for i := 1 to n do Begin
    write(x[i]:5,' ');
  end;
END.
Код:
var
  a:array[1..100] of integer;
  b:array[1..100] of integer;
  na:integer;
  nb:integer;
  i:integer;
BEGIN
  write ('n=');
  read (na);
  if (na>100) then Begin
    writeln('n слишком большое');
    exit;
  end;
  randomize;
  For i:=1 to na do
    a[i]:=random(22)-5;
  writeln('Исходный массив:');
  for i := 1 to na do Begin
    write(a[i]:5,' ');
  end;
  nb := 0;
  for i := 1 to na do
    if (a[i]>0) then Begin
      nb := nb+1;
      b[nb] := a[i];
    end;
  writeln;
  writeln('Результат:');
  for i := 1 to nb do Begin
    write(b[i]:5,' ');
  end;
END.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."
val_nnm вне форума Ответить с цитированием
Старый 30.10.2011, 15:35   #5
allod26
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 10
По умолчанию

val_nnm пасиб =)
allod26 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Помогите! Мне нужно решить задачки на одномерный массив! Loren Помощь студентам 8 14.03.2009 16:46