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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2008, 23:59   #1
dashulka
Новичок
Джуниор
 
Регистрация: 18.06.2008
Сообщений: 2
По умолчанию Удаление элементов из динамического массива

Задание такое:из массива удалить элементы между первым и вторым элементами, модули которых меньше заданной величины.Подскажите пожалуйста что здесь не так

Код:
procedure TForm1.DelClick(Sender: TObject);
Var i,j,x,y,l:integer;
    m:array of integer;
begin
l:=length(m);
For i:=0 to l-1 do
if abs(M[i])<abs(chislo.Value) then
if abs(m[i+1])>abs(chislo.Value) then
x:=m[i+1];
for i:=x to l-1 do
m[i]:=m[i+1];
SetLength(m,sg2.ColCount-1);
for i:=0 to L-1 do
sg2.Cells[i,1]:=inttostr(m[i]);
sg2.ColCount:=sg2.ColCount-1;
chislo - это заданное число
sg - StreengGriв

Заранее спасибо!
dashulka вне форума Ответить с цитированием
Старый 31.10.2008, 04:54   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

в общем пытался написать что не так, вышло что тут всё не так
Что значит удалить между первым и вторым элементом ? не совсем понятно

Кажется понял что имелось в виду.
Может нужно было чтото вроде этого?

Код:
l:=0;
 for i:=0 to high(m) do
 if abs(m[i])>=abs(chislo.Value) then
 begin
 m[l]:=m[i];
 l:=l+1;
  end;
 Setlength(m,l);
sg2.rowcount:=2;
sg2.Colcount:=length(m);
for i:=0 to high(m) do
sg2.Cells[i+1,1]:=inttostr(m[i]);

Последний раз редактировалось vovk; 31.10.2008 в 12:26.
vovk вне форума Ответить с цитированием
Старый 31.10.2008, 13:48   #3
dashulka
Новичок
Джуниор
 
Регистрация: 18.06.2008
Сообщений: 2
По умолчанию

Я попробовала запустить удалились все ячейки,кроме одной
dashulka вне форума Ответить с цитированием
Старый 31.10.2008, 14:00   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от dashulka Посмотреть сообщение
Я попробовала запустить удалились все ячейки,кроме одной
ячейки в смысле в стриггриде? Так там я его подогнал под размер получаемого массива+ FixedCol b
vovk вне форума Ответить с цитированием
Старый 31.10.2008, 14:03   #5
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от dashulka Посмотреть сообщение
Я попробовала запустить удалились все ячейки,кроме одной
Ячейки в смысле в стриггриде? Так там я его подогнал под размер получаемого массива+ FixedCol и FixsedRow, если в массиве нет значений попадающих под условие, то массив ессно будет пустой и соответственно Stringgrid будет с одной колонкой.
Задайте значение chislo.Value поменьше и посмотрите на результат.

зы чтото сообщения двоятся хмм

Последний раз редактировалось vovk; 31.10.2008 в 14:06.
vovk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод элементов массива.Изменение элементов массива. Vesnushka18 Помощь студентам 6 09.06.2011 13:05
Удаление элемента динамического массива Dogmat Помощь студентам 6 13.07.2008 14:33
Удаление записи из динамического масива... Altera Общие вопросы Delphi 4 09.06.2008 09:15
Произведение элементов массива gamer123 Помощь студентам 5 19.01.2008 22:02