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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2011, 22:25   #1
zzzarazzza
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 19
Восклицание Delphi одномерн.массивы

Помогите пожалуйста написать программу на Delphi

Одномерный массив преобразовать таким образом, чтобы в первой его половине располагались элементы, стоящие в четных позициях, а во второй половине – элементы, стоящие на нечетных позициях (с использование StringGrid)
zzzarazzza вне форума Ответить с цитированием
Старый 30.06.2011, 22:52   #2
Kotlyar562
Пользователь
 
Аватар для Kotlyar562
 
Регистрация: 03.02.2010
Сообщений: 46
По умолчанию

Все еще есть вопросы? Загоняете числа из стринггрид в одномерный массив и используете алгоритм, приведенный мною в вашей предыдущей теме...
Kotlyar562 вне форума Ответить с цитированием
Старый 30.06.2011, 23:17   #3
zzzarazzza
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 19
Восклицание

Цитата:
Сообщение от Kotlyar562 Посмотреть сообщение
Все еще есть вопросы? Загоняете числа из стринггрид в одномерный массив и используете алгоритм, приведенный мною в вашей предыдущей теме...
числа в SG1 заполняются в другой процедурке
а вот что я написала по преобразованию массива
Код:
   var n,k:integer;
begin

for j:=0 to Stringgrid1.ColCount-1 do
 k:=0;
  for j:=0 to Stringgrid1.ColCount-1 do
   if j mod 2 =0 then
    begin
  Stringgrid2.Cells[j,0]:=Stringgrid1.Cells[n,0];
k:=k+1;
begin
 for j:=0 to Stringgrid1.ColCount-1 do
   if j mod 2 =1 then
    begin
  Stringgrid2.Cells[j,0]:=Stringgrid1.Cells[n,0];
k:=k+1;
end;
end;
end;
end;
что то не то сделала кажется..(
zzzarazzza вне форума Ответить с цитированием
Старый 01.07.2011, 01:06   #4
Kotlyar562
Пользователь
 
Аватар для Kotlyar562
 
Регистрация: 03.02.2010
Сообщений: 46
По умолчанию

Видимо, Вы не полностью поняли суть + надо было "подогнать" тот алгоритм под стринггриды (например, нумерация с 0, по-этому k изначально равно 0, и т.д). Вот код:

Код:
var i,k: integer;
begin
  k:=0;
  for i:=0 to Stringgrid1.ColCount-1 do
    if i mod 2 = 1 then
    begin
      Stringgrid2.Cells[k,0]:=stringgrid1.Cells[i,0];
      k:=k+1;
    end;

  for i:=0 to  Stringgrid1.ColCount-1 do
    if i mod 2 = 0 then
    begin
      Stringgrid2.Cells[k,0]:=stringgrid1.Cells[i,0];
      k:=k+1;
    end;
end;
Еще советую писать соответствующие бегин и енд друг под другом, тогда Ваш код будет более читаемым

Последний раз редактировалось Kotlyar562; 01.07.2011 в 01:14.
Kotlyar562 вне форума Ответить с цитированием
Старый 01.07.2011, 22:01   #5
zzzarazzza
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 19
Радость

спасибо))
вы мне очень помогли))
zzzarazzza вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Блондинка не справляется одномерн массив-замена Aisush Помощь студентам 21 14.06.2011 17:22
одномерн. массив (паскаль) Артл Помощь студентам 7 09.12.2010 15:48
Массивы (Delphi) 777UFO777 Помощь студентам 4 19.01.2010 16:51
паскаль l помогите доделать задачу по одномерн массиву braza Паскаль, Turbo Pascal, PascalABC.NET 15 27.04.2008 14:33