|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
delphi первокурсник
Всем привет, у меня пару ошибок и нужна ваша помощь
1.Вычислить сумму элементов каждой строки матрицы А (n x m), определить наименьшее значение этих сумм и номер соответствующей строки. радиобатон1- сам вожу радиобатон2- рандом Код:
procedure TForm1.Button1Click(Sender: TObject); begin sum:=0; memo1.lines.clear; begin with StringGrid1 do for i:=FixedCols to ColCount-1 do for j:=FixedRows to RowCount-1 do Cells[i, j]:=''; end; if RadioButton1.Checked=true then begin n:=strtoint(Edit1.Text); n1:=strtoint(Edit2.Text); if (n<2) or (n>10) or (n1<2) or (n1>10) then begin Showmessage('Кол-во строк и столбцов не больше 10 и не меньше 2'); exit; end; for i:=0 to n do begin for j:=0 to n1 do begin x[i,j]:= strtoint(StringGrid1.Cells[i,j]); begin sum:= sum + x[i,j]; Memo1.Lines.Add('Сумма элементов '+inttostr(i)+'-ой строки = '+inttostr(sum)); end; end; end; end; if RadioButton2.Checked=true then begin randomize; n:=random(8)+ 2; n1:=random(8)+ 2; Edit1.Text:=inttostr(n+1); Edit2.Text:=inttostr(n1+1); for i:=0 to n do begin for j:=0 to n1 do begin x[i+1,j+1]:= random(10)+2; StringGrid1.Cells[j,i]:= FormatFloat('0.00',x[i+1,j+1]); begin sum:= sum + x[i,j]; Memo1.Lines.Add('Сумма элементов '+inttostr(i)+'-ой строки = '+inttostr(sum)); end; end; MAD: пользуемся тегом code, а не quote. 1. когда работаем рандом то в memo идут неправильные данные 2. самому вообще не ввести, пишет ошибку буду благодарен Последний раз редактировалось M.A.D.M.A.N., 21.06.2014 в 19:37. |
#2
|
||||
|
||||
Цитата:
Код:
... var i,j,n:integer; tmp: array of integer; begin Memo1.Clear; SetLength(tmp, High(x)+1); for i := Low(x) to High(x) do begin tmp[i]:= SumInt(x[i]); Memo1.Lines.Add(IntToStr(i) + ': ' + IntToStr(tmp[i])); end; n:= MinIntValue(tmp); for i := Low(tmp) to High(tmp) do if tmp[i] = n then Memo1.Lines.Add('Минимальная сумма элементов ' + IntToStr(i) + '-ой строки = ' + IntToStr(tmp[i])); end; Код:
with StringGrid1 do for i := FixedCols to ColCount-1 do Cols[i].Clear; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
море ошибок и я ничего не понимаю
думаю дело в том, что у меня делфи xe3 ( |
#4
|
||||
|
||||
Какое море, всего несколько строк - в uses нужно Math добавить. Проверил, работает
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |