Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 12.09.2014
Сообщений: 4
1

Как удалить несколько элементов массива?

12.09.2014, 15:19. Просмотров 1604. Ответов 10
Метки нет (Все метки)


Есть некий массив размера N. Удалить из него серию с номерок К. Не получается удалить определенную серию. Если надо скину примерный код на поиск серии и индекса первого и последнего элемента серии.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2014, 15:19
Ответы с готовыми решениями:

Как удалить элемент массива без сдвига остальных элементов?
Делаю курсач.В задании есть вот такое предложение:"Для того чтобы найти элемент в массиве,можно...

Разделение элементов одномерного массива на несколько групп
Всем привет! Вот такой вопрос: Допустим, у нас есть группа студентов из 21 человека. В программу...

Как удалить из массива сразу несколько элементов
Как удалить из массива сразу несколько элементов? Например с 3 элемента по 5

как несколько элементов удалить
Привет всем! У меня простой вопрос, как удалить диапазон выделенных элементов из listbox?

10
Модератор
62884 / 46920 / 32338
Регистрация: 18.05.2008
Сообщений: 113,697
12.09.2014, 15:20 2
LigthMyFire, Если есть проект, то скиньте его архив в тему.
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
12.09.2014, 15:21 3
Цитата Сообщение от LigthMyFire Посмотреть сообщение
Не получается удалить определенную серию
Что конкретно не получается ?
0
0 / 0 / 0
Регистрация: 12.09.2014
Сообщений: 4
12.09.2014, 15:30  [ТС] 4
zad array.zip Сам "проект"
0
0 / 0 / 0
Регистрация: 12.09.2014
Сообщений: 4
12.09.2014, 15:33  [ТС] 5
Просмотрел примеры удаления , и не понятно как удалить 2 элемента. Удалось удалить все кроме нужное серии. т.е весь массив осталась только искомая серия)
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
12.09.2014, 15:42 6
Цитата Сообщение от LigthMyFire Посмотреть сообщение
Удалось удалить
Ты просто гений - никому еще удавалось удалить элемент статического массива, ибо это невозможно в принципе, а тебе удалось)

Вообще имя проекта zadarray оправдывает его содержимое - в нем все выглядит как один большой зад.
Не выглядит никак только одно - напрочь отсутствующий код удаления элементов массива)
0
0 / 0 / 0
Регистрация: 12.09.2014
Сообщений: 4
12.09.2014, 15:56  [ТС] 7
Я гений ****yeah)Ну дык) кто нибудь бы помог) за этим и обратился) а на счет удаления то хз как это по другому назвать но вывело совсем не то что я хотел)
0
Модератор
62884 / 46920 / 32338
Регистрация: 18.05.2008
Сообщений: 113,697
12.09.2014, 16:02 8
Лучший ответ Сообщение было отмечено LigthMyFire как решение

Решение

Начало кода Ваше, остальное поменял
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
procedure TForm1.BitBtn1Click(Sender: TObject);
var a:array [1..100] of integer;
    n,k,i,j,i1,p,s,q:integer;
begin
n:=strtoint(edit1.text);
k:=strtoint(edit2.text);
stringgrid1.ColCount:=n;
for i:=1 to n do  begin
stringgrid1.Cols[i-1].clear;
stringgrid1.Rows[i-1].Clear;
a[i]:=random(3);
stringgrid1.Cells[i-1,0]:=inttostr(a[i]);
end;
p:=0;  //счетчик кол-во серий
i:=2;
while i<=n do
if a[i]=a[i-1] then //начало серии
 begin
  inc(p); //посчитаем
  i1:=i-1;//запомним начало
  s:=1;//пока 1 элемент в серии
  j:=i;//идем по серии
  while (j<=n)and(a[j]=a[j-1]) do
   begin
    inc(s); //считаем длину
    inc(j);
   end;
  if p=k then //если это серия № k
   begin
    for j:=1 to s do //удаляем ее
    for q:=i1 to n-1 do
    a[q]:=a[q+1];//сдвигая конец масива влево
    dec(n); //и уменьшая размер
   end
  else inc(i,s);//иначе перешагиваем чепез серию
 end
else inc(i);//если не серия, вперед на 1
if p<k then showmessage('В масстве нет '+inttostr(k)+' серий')
else
 begin
  stringgrid2.ColCount:=n;//выводим массив в новую таблицу
  for i:=1 to n do
  stringgrid2.Cells[i-1,0]:=inttostr(a[i]);
 end; 
end;
1
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
12.09.2014, 16:06 9
Цитата Сообщение от LigthMyFire Посмотреть сообщение
хз как это по другому назвать
Можно и не называть по-другому, если это динамический массив - там удаление и есть удаление)
А в статическом, который у тебя, удалить элемент невозможно.
0
Модератор
62884 / 46920 / 32338
Регистрация: 18.05.2008
Сообщений: 113,697
12.09.2014, 16:09 10
Цитата Сообщение от mss Посмотреть сообщение
удалить элемент невозможно.
Но создать видимость удаления можно, раз такое и так написано в задачниках. Какого хрена ты воспитываешь тут ТСа....
0
2646 / 2269 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
12.09.2014, 16:24 11

Не по теме:

Цитата Сообщение от Puporev Посмотреть сообщение
Какого хрена ты воспитываешь тут ТСа
А я бы сказал тебе в ответ : какого хрена ты не воспитываешь ТСов, выполняя их работу ?)



Цитата Сообщение от Puporev Посмотреть сообщение
создать видимость удаления можно
Видимость-то да, можно)..
Но ТС, как видно из зада, не делал ни того ни другого - ни видимость не создавал, ни удалял)

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Puporev Посмотреть сообщение
раз такое и так написано в задачниках
Задачники-то ТС не читал и не собирается)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2014, 16:24

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько
Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько. ...

Как разделить массив на два массива, или удалить из массива часть однотипных элементов?
как разделить массив на два массива или удалить из массива часть однотипных элементов? к примеру...

Как скопировать несколько элементов массива в другой массив, если они непоследовательны?
Как скопировать несколько элементов массива в другой массив, если они непоследовательны? Ну, или...

Как удалить последние N элементов из массива типа char?
Здравствуйте. Написал программу, но в ней маленький недочет-нужно удалить 3 последних символа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.