|
Вопрос # 4 908/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Заполнить двумерный массив размером n x m "Змейкой"
Например:
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
и т.д пример заполнения такой
Вообщем змейкой)))
И удалить k строку, k нужно ввести самому.
Нужно сделать в форме, через стрингрид
Помогите плиз сделать добрые люди!
SKype: artemzhavoronkin
 |
Вопрос задал: barsichek (статус: Посетитель)
Вопрос отправлен: 12 января 2011, 14:52
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 9; последнее сообщение — 16 января 2011, 11:54; участников в обсуждении: 3.
|
min@y™ (статус: Доктор наук), 12 января 2011, 15:02 [#1]:
Цитата (barsichek):
Помогите плиз сделать добрые люди!
Чем помочь, что не получается?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
12 января 2011, 15:12: Вопрос перемещён из тематического раздела Delphi » Прочее в раздел Лабораторный практикум » Delphi модератором Ерёмин А.А.
|
Вадим К (статус: Академик), 12 января 2011, 15:14 [#2]:
наверно где то так
for i := 1 to height do
for j := 1 to width do
if odd(i) then
str_grd[i,j] := (i-1)*width+j
else
str_grd[i,width - j + 1] := (i-1)*width+j
Это идея, которая решит задачу заполнения. нужно только чуточку доработать.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
barsichek (статус: Посетитель), 12 января 2011, 20:38 [#3]:
Можно полностью в архиве, я сделал но у меня заполняет змейкой с начало строки, не правильно. Вот нужно что бы такая цепочка, что то никак..
|
|
min@y™ (статус: Доктор наук), 13 января 2011, 08:21 [#4]:
Цитата (barsichek):
Можно полностью в архиве
А причём тут архив?
Цитата (barsichek):
я сделал но у меня заполняет змейкой с начало строки, не правильно. Вот нужно что бы такая цепочка, что то никак..
Опять ты пытаешься работать с гридом как с массивом. Я ж тебе ещё в прошлом году говорил, что работать с данными надо только в памяти, а визуальные компоненты должны служить только для ввода исходных данных и вывода результатов.
Что за препод у вас такой, который учит делать неправильно? Дай мне его e-mail, я ему петицию накатаю со ссылкой на этот сайт, пусть сам поучится!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
barsichek (статус: Посетитель), 13 января 2011, 18:50 [#5]:
Вот по общайся)
Только она помнит конечно задачу что мне дала, индивидуально, я просто ребятам давал логин что бы отписались тут, они кстати сдали ды еще на 5 ) Помнит что дала мне заполнить змейкой
http://vkontakte.ru/id67897491
|
|
min@y™ (статус: Доктор наук), 13 января 2011, 18:55 [#6]:
Я не пользуюсь соц. сетями и просил адрес e-mail.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 13 января 2011, 18:56 [#7]:
Слышь, а ты в каком государстве живёшь, а? Случайно не в Турции?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
barsichek (статус: Посетитель), 14 января 2011, 19:25 [#8]:
На слышь... другое маленько.
Я что с ней живу? По думай откуда мне взять её мыло.
|
|
barsichek (статус: Посетитель), 16 января 2011, 11:54 [#9]:
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
StringGrid1: TStringGrid;
Button2: TButton;
Button1: TButton;
Label3: TLabel;
Edit3: TEdit;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
m:array of array of integer;
i,j,c,r,x,w,q:integer;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
c:=strtoint(edit1.Text);
r:=strtoint(edit2.Text);
stringgrid1.ColCount:=c;
stringgrid1.RowCount:=r;
setlength(m,c,r);
x:=1;
for j:=0 to r-1 do
begin
if j mod 2=0 then
begin
for i:=0 to c-1 do
begin
m[i,j]:=x;
x:=x+1;
end;
end;
if j mod 2<>0 then
begin
for w:=c-1 downto 0 do
begin
for i:=0 to c-1 do
m[w,j]:=x;
x:=x+1;
end;
end;
end;
for i:=0 to c-1 do
for j:=0 to r-1 do
stringgrid1.Cells[i,j]:=inttostr(m[i,j]);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
q:=strtoint(edit3.Text);
for i:=0 to c-1 do
stringgrid1.Cells[i,q]:='';
end;
end.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|