![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#2
|
|||
|
|||
|
как то так тебе надо ?
![]() Код:
procedure TForm4.Button1Click(Sender: TObject);
var
a, b: array [1 .. 5] of string;
i, j: integer;
nach, kon: char;
begin
StringGrid1.Cells[0, 0] := 'вася';
StringGrid1.Cells[0, 1] := 'нитро';
StringGrid1.Cells[0, 2] := 'ясен';
StringGrid1.Cells[0, 3] := 'опасно';
StringGrid1.Cells[0, 4] := 'огонь';
for i := 1 to 5 do
a[i] := StringGrid1.Cells[0, i - 1];
b[1] := a[1];
a[1] := '';
for i := 1 to 4 do
begin
kon := b[i][length(b[i])];
for j := 1 to 5 do
begin
if length(a[j]) > 0 then
begin
nach := a[j][1];
if nach = kon then
begin
b[i + 1] := a[j];
a[j] := '';
break;
end;
end;
end;
end;
for i := 1 to 5 do
StringGrid1.Cells[1, i - 1] := b[i];
end;но тебе еще надо учесть что если не найдется слово подходящее для продолжения и тд ... и еще надо учесть буквы 'А' и 'а' программа воспримет как разные ... и ты в своем коде перепутал начало с концом ... ты брал nach:=b[i][1]; хотя как я понял в б будет уже готовое идти ... тоесть надо брать последнюю букву. .. и тд ... короче я код накидал смотри .. если че спрашивай ... а да и ошибку он тебе выдавал на строках nach:=b[i][1]; kon:=a[j][Length(a[j])]; потому что у тебя походу переменные были пустые ... и получалось a[j][Length(a[j])] если a[j] пустая то выходило a[j][0] ... поэтому и ошибка .. Последний раз редактировалось caHek-2x, 15.01.2013 в 17:29. |
| Этот пользователь сказал Спасибо caHek-2x за это полезное сообщение: | ||
Ivanidius (15.01.2013)
| ||