|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
StringGrid подскажите пожалуйста!
У меня в компоненте StringGrid матрица 3х3 надо сложить элементы каждой строчки и вывести ответы в label1. как это сделать????
|
#2
|
||||
|
||||
1. запускаешь дельфи (это самое главное )
2. пишешь пальчиками(можешь даже ногами, это как тебе удобнее ) знаете почему внизу эскалатора бабка в будке сидит? она там педальки крутит и лесенка едет! |
#3
|
|||
|
|||
не..это я понимаю... я само условие не знаю как написать... как сложить все элементы какой-нибудь строки???
Последний раз редактировалось nblF-nblF*, 11.06.2010 в 00:50. |
#4
|
||||
|
||||
может быть, перебором?
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#5
|
|||
|
|||
блин, ну а как это записать? я че-то ваще не врубаюсь!!!
Последний раз редактировалось nblF-nblF*, 11.06.2010 в 00:57. |
#6
|
||||
|
||||
1. Цикл for по строчкам
2. Вложенный цикл по элементам в строке 3. переменная, сумма n-ной строки. Полностью за тебя писать не будут, пробуй сам, и спрашивай, что не получается. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#7
|
|||
|
|||
в месте выделенном красным что у меня не правильно?
Код:
procedure TForm1.Button1Click(Sender: TObject); const m=3;n=5; type type=array[1..m,1..n] of real; var x:type; i,j:byte; s,q,w:real; begin i:=1; while i<=stringgrid1.ColCount do begin j:=1; while j<=stringgrid1.RowCount do begin x[i,j]:=strtofloat(stringgrid1.Cells[i-1,j-1]); for i:=1 to m do begin s:=0; if i:=1 then s:=s+x[i,j]; q:=0; if i:=2 then q:=q+x[i,j]; w:=0; if i:=3 then w:=w+x[i,j]; label1.Caption:=floattostr(s)+#13+floattostr(q)+#13+floattostr(w); j:=j+1; end; i:=i+1; end; end. |
#8
|
||||
|
||||
Код:
if i:=1 then s:=s+x[i,j]; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#9
|
|||
|
|||
спасибо, это исправил, но программа все равно не работает(((
подскажите что делать? |
#10
|
||||
|
||||
Так сойдёт? с тебя +.
Код:
s:=0; q:=0; w:=0; for i:=1 to 3 do begin s:=s+x[i,1]; q:=q+x[i,2]; w:=w+x[i,3]; end; label1.Caption:=floattostr(s)+#13+floattostr(q)+#13+floattostr(w); Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#11
|
|||
|
|||
все равно результат вообще не выводит... тект программы у меня верный верный или нет?
Код:
procedure TForm1.Button1Click(Sender: TObject); const m=3;n=5; type qwerty=array[1..m,1..n] of real; var x:qwerty; i,j:byte; s,q,w:real; begin i:=1; while i<=stringgrid1.ColCount do begin j:=1; while j<=stringgrid1.RowCount do begin x[i,j]:=strtofloat(stringgrid1.Cells[i-1,j-1]); s:=0; q:=0; w:=0; for i:=1 to 3 do begin s:=s+x[i,1]; q:=q+x[i,2]; w:=w+x[i,3]; end; label1.Caption:=floattostr(s)+#13+floattostr(q)+#13+floattostr(w); end; end;end;end. |
#12
|
||||
|
||||
Ты ж сказал, у тебя матрица 3х3...
Нет, не так уж всё и верно... порассуждай логически... что где и как... Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#13
|
||||
|
||||
чет я вообще не въезжаю как ты это хочешь сделать
как-то так наверн надо: Код:
for i:=1 to 3 do begin sum:=0; for j:=1 to 3 do sum:=sum+x[i,j]; label1.Caption:=label1.Caption+'_'+floattostr(sum); end; (хотя удобней вообще без матрицы) знаете почему внизу эскалатора бабка в будке сидит? она там педальки крутит и лесенка едет! Последний раз редактировалось SerginhoLD, 11.06.2010 в 02:02. |
#14
|
|||
|
|||
а теперь он какие-то левые значения выдает... как все-таки сделать то?
|
#15
|
||||
|
||||
ну если то что я написал ты просто вставил себе то там значения левее некуда будут
я ж тебе предложил сначала в матрицу все занести такимиже for-ами(ну или твоими while-ами), а потом писать что я написал знаете почему внизу эскалатора бабка в будке сидит? она там педальки крутит и лесенка едет! |