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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2011, 15:06   #1
Sanktus
Новичок
Джуниор
 
Регистрация: 28.05.2011
Сообщений: 3
Сообщение Вставка в одномерный массив

Всем привет!
Не могу решить задачу.
Вставить число k после всех элементов массива, кратных своему индексу.

Заранее спасибо!
Sanktus вне форума Ответить с цитированием
Старый 28.05.2011, 15:28   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В чем проблема-то? Если я правильно понял условие, то проходите массив циклом (for) и запоминаете индекс элемента в какую-нибудь переменную если (if) его значение кратно его индексу. После цикла вставляете k после этого индекса.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.05.2011, 17:05   #3
Sanktus
Новичок
Джуниор
 
Регистрация: 28.05.2011
Сообщений: 3
По умолчанию

Вот пытался но не работает:
Код:
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const
  n=2;
var
  A:array of integer;
  i,k,j:integer;
begin
  k:=10;
  setlength(a,n);
 
  writeln('vvedite massiv');
    for i:= 1 to length(a) do
      readln(A[i]);
 
  for i:= 1 to length(a) do
  begin
    if a[i] mod i =0 then
      begin
        setlength(a, length(a)+1);
        for j := length(a) downto i+2 do
          begin
            a[j]:=a[j-1];
          end;
        a[i+1]:=k;
      end;
  end;
 
    for i:=1 to length(a) do
    write(A[i],' ');
 
  readln;
end.

Последний раз редактировалось Stilet; 28.05.2011 в 17:29.
Sanktus вне форума Ответить с цитированием
Старый 28.05.2011, 17:18   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А, значит я немного не так понял, думал после последнего вставить.
Динамические массивы вроде с 0 начинаются, а не 1.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.05.2011, 17:29   #5
Sanktus
Новичок
Джуниор
 
Регистрация: 28.05.2011
Сообщений: 3
По умолчанию

Вот по другому но все равно не то:
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  n=5;
var
  A:array of integer;
  i,k,j:integer;
begin
  k:=10;
  setlength(a,n);

    for i:= 0 to length(a)-1 do
      readln(A[i]);

  for i:= 0 to length(a)-1 do
  begin
    if a[i] mod (i+1) =0 then
      begin
        setlength(a, length(a)+1);
        for j := length(a)-1 downto i+2 do
          begin
            a[j]:=a[j-1];
          end;
        a[i+1]:=k;
      end;
  end;

    for i:=0 to length(a) do
    write(A[i],' ');

  readln;

end.

Последний раз редактировалось Sanktus; 28.05.2011 в 17:39.
Sanktus вне форума Ответить с цитированием
Старый 28.05.2011, 17:58   #6
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

Заполняем массив
Идем с конца до первого элемента кратного индексу и вставляем число к
Biggs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив. Вставка элемента. Stwl3 Паскаль, Turbo Pascal, PascalABC.NET 3 09.01.2011 22:52
Вставка элементов в одномерный массив DarkDeidara Помощь студентам 17 03.12.2010 12:13
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40