![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Уважаемые форумчане, помогите пожалуйста решить задачу, я в программировании совсем новичок.
Вообщем нужно на форме создать 2 массива из Еdit компонентов 3х3 размерами и 1 кнопку, когда вводишь числа в Edit'ы при нажатии на кнопку матрицы складывались, а результат выводился в первом массиве. |
#3
|
|||
|
|||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); var a: array[1..10,1..10] of integer; b: array[1..10,1..10] of integer; c: array[1..10,1..10] of integer; i,j: integer; begin for i:=1 to 10 do for j:=1 to 10 do a[1,1]:=StrToInt(Edit1.Text); a[1,2]:=StrToInt(Edit2.Text); a[1,3]:=StrToInt(Edit3.Text); a[2,1]:=StrToInt(Edit4.Text); a[2,2]:=StrToInt(Edit5.Text); a[2,3]:=StrToInt(Edit6.Text); a[3,1]:=StrToInt(Edit7.Text); a[3,2]:=StrToInt(Edit8.Text); a[3,3]:=StrToInt(Edit9.Text); b[1,1]:=StrToInt(Edit10.Text); b[1,2]:=StrToInt(Edit11.Text); b[1,3]:=StrToInt(Edit12.Text); b[2,1]:=StrToInt(Edit13.Text); b[2,2]:=StrToInt(Edit14.Text); b[2,3]:=StrToInt(Edit15.Text); b[3,1]:=StrToInt(Edit16.Text); b[3,2]:=StrToInt(Edit17.Text); b[3,3]:=StrToInt(Edit18.Text); c[i,j]:=a[i,j]+b[i,j]; c[1,1]:=StrToInt(Edit1.Text); c[1,2]:=StrToInt(Edit2.Text); c[1,3]:=StrToInt(Edit3.Text); c[2,1]:=StrToInt(Edit4.Text); c[2,2]:=StrToInt(Edit5.Text); c[2,3]:=StrToInt(Edit6.Text); c[3,1]:=StrToInt(Edit7.Text); c[3,2]:=StrToInt(Edit8.Text); c[3,3]:=StrToInt(Edit9.Text); это все что я смог и полагаю это даже близко не стоит с правильным решением( как мне подсказали, это должно работать, но я не знаю как дальше присвоить действие кнопке, что бы при нажатии массивы складывались Последний раз редактировалось Brons14, 22.04.2012 в 00:56. |
#4
|
||||
|
||||
![]() Не понял это:
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
|||
|
|||
![]() матрицы из едитов 3 на 3, суммируется как обычные матрицы (первый массив из едитов: едит1-едит9).
едит1 это [1,1] (первая строка, первый столбец) едит2 [1,2] (первая строка, первый столбец) и т. д. А дальше 2 массив (из едитов10- едит18). а результат в 1 массив т. е. едит1 + едит10 и записывается в едит1, едит2+едит11 записывается в едит2. |
#6
|
||||
|
||||
![]() Так что ли?
Код:
var Sum1, Sum2 : Integer; begin Sum1 := StrToIntDef(Edit1.Text, 0) + StrToIntDef(Edit2.Text, 0) + StrToIntDef(Edit3.Text, 0) + StrToIntDef(Edit4.Text, 0) + StrToIntDef(Edit5.Text, 0) + StrToIntDef(Edit6.Text, 0) + StrToIntDef(Edit7.Text, 0) + StrToIntDef(Edit8.Text, 0) + StrToIntDef(Edit9.Text, 0); Sum2 := StrToIntDef(Edit10.Text, 0) + StrToIntDef(Edit11.Text, 0) + StrToIntDef(Edit12.Text, 0) + StrToIntDef(Edit13.Text, 0) + StrToIntDef(Edit14.Text, 0) + StrToIntDef(Edit15.Text, 0) + StrToIntDef(Edit16.Text, 0) + StrToIntDef(Edit17.Text, 0) + StrToIntDef(Edit18.Text, 0); Sum1 := Sum1 + Sum2; IntToStr(Edit1.Text, 0) := Sum1; IntToStr(Edit2.Text, 0) := Sum1; IntToStr(Edit3.Text, 0) := Sum1; IntToStr(Edit4.Text, 0) := Sum1; IntToStr(Edit5.Text, 0) := Sum1; IntToStr(Edit6.Text, 0) := Sum1; IntToStr(Edit7.Text, 0) := Sum1; IntToStr(Edit8.Text, 0) := Sum1; IntToStr(Edit9.Text, 0) := Sum1; end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 22.04.2012 в 01:29. |
#7
|
|||
|
|||
![]() Вместо
Код:
c[1,1]:=StrToInt(Edit1.Text); ... c[3,3]:=StrToInt(Edit9.Text); надо Код:
Edit1.Text := IntToStr(a[1,1]+b[1,1]); ... Edit9.Text := IntToStr(a[3,3]+b[3,3]); |
#8
|
|||
|
|||
![]() очень благодарен, но немного не ясно, этот код нужно записывать в кнопку на форме или как?
|
#9
|
||||
|
||||
![]() Да, на кнопку.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#10
|
|||
|
|||
![]() всем спасибо, теперь получилось!
|