Вопрос: как поделить первые три столбца на последний т.е 600 на 3000 1500 на 4000 900 на 7000 также нужно поделить и остальные два,и как потом работать с полученными числами
циклами поэлементно... не совсем понятно, в чем проблема.
--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует. На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
Мне кажется тут речь о том, что Pirate не знает как обратиться к ячейкам StringGrid и получить оттуда нужные данные. Form1.StringGrid1.Cells[i,j] - так ты обращаешься к элементу стрингрида, где i - номер столбика (0..n), а j - номер ряда (0..n) - заметь, что отличается от массивов. Так как ты работаешь со строкой, можешь объявить переменную типа string (например s) и присвоить ей значение ячейки StringGrid, например s := Form1.StringGrid1.Cells[0,0] - верхний левый элемент. Теперь, используя функцию StrToInt, ты можешь из строки получить число типа integer (с вещественными аналонично StrToFloat), а можно и сделать сразу a := StrToInt (Form1.StringGrid1.Cells[0,0]), где а - переменная типа integer. Теперь, используя цикл for, можно производить различные манипуляции с данными ячеек StringGrid, что тебе и требуется. Отредактировано -> см. пост Better Kind.
Мне кажется тут речь о том, что Pirate не знает как обратиться к ячейкам StringGrid и получить оттуда нужные данные. Form1.StringGrid1.Cells[i,j] - так ты обращаешься к элементу стрингрида, где i - номер столбика (0..n), а j - номер ряда (0..n) - заметь, что отличается от массивов. Так как ты работаешь со строкой, можешь объявить переменную типа string (например s) и присвоить ей значение ячейки StringGrid, например s := Form1.StringGrid1.Cells[0,0] - верхний левый элемент. Теперь, используя функцию IntToStr, ты можешь из строки получить число типа integer, а можно и сделать сразу s := IntToStr (Form1.StringGrid1.Cells[0,0]); Теперь, используя цикл for, можно производить различные манипуляции с данными ячеек StringGrid, что тебе и требуется.
Уважаемый Тан не могли бы вы мне привести примерчег с моими данными ,у меня при делении 600 на 3000 возникает ошибка.Как потом данные из каждого из столбоц занести в массив?
Покажи как ты делаешь и станет понятнее откуда ошибка. Допустим мы хотим занести данные из 1го по счёту столбца в массив : for i := 1 to N do massiv[i] := StrToInt (Form1.StringGrid1.Cells[0,i - 1]); То есть проходим по строкам, а столбик константный, если же ты хочешь занести в массив одновременно несколько столбиков со значениями, необходим ещё внешний цикл по столбикам.
Приведи пожалуйста пример исходных данных и данных на выходе, непонятно как заполнять массив. Допустим поделили все элементы первого столбика на последний, записали в массив. Потом поделил второй на последний, после этого продолжаем писать в тот же массив или создаём и заполняем новый?
С чего бы это? Потому, что тебе так хочется? Неправильно хочется, значит... Содержимое ячеек - целочисленное, значит можно использовать StrToInt...
Pirate, все очень просто: 2 вложенных цикла - внешний по строкам, внутренний - по столбцам грида (деление i-го элемента где i = 0 .. n-1 каждой строки на n-ый), и запись результатов в массив, разумеется (хотя можно и сразу записывать в Memo, это уже по желанию)...
Ты бы привел хотя бы наброски своего кода, а то такое ощущение, что ты ждешь, когда все сделают за тебя и выложат здесь все на блюдечке...
Вообщем я начал потихоньку разбираться, тип должен быть Реал т.к при StrToInt возникает ошибка Я со стринггридом не дружу честно говоря но и не жду пока сделают всё за меня как препдположил Volvo Набросков вот именно что нет, я не могу понять как всё это дело после деления присвоить массиву Volvo два вложенных цикла т.е For i:=0 to StringGrid.ColCount-1 do For i:=0 to StringGrid.RowCount-1 do Так ещё в чем проблема предпоследний столбец не используется,что делать?
Добавлено через 9 мин. У меня это только первый пункт решения моей задачи
Какой массив должен быть в результате :
A= 0,2 0,375 0,12 0,13 0,2 0,68 0,2 0,25 0,85 100 Потом мне необходимо отнять получ массив от массива 010 т.е от еденичной матрицы и найти определитель 001
Помогите сделать хотя бы деление столбцов на последний
procedure TForm1.Button2Click(Sender: TObject); var A:array [0..3] of real; B:array [0..3] of real; C:array [0..3] of real; i : integer;
begin try for i:=0 to StringGrid1.RowCount-1 do begin A[i] := strtofloat(StringGrid1.Cells[0,i]) / strtofloat(StringGrid1.Cells[StringGrid1.ColCount-1,i]); B[i]:=strtofloat(StringGrid1.Cells[1,i]) / strtofloat(StringGrid1.Cells[StringGrid1.ColCount-1,i]); C[i]:=strtofloat(StringGrid1.Cells[2,i]) / strtofloat(StringGrid1.Cells[StringGrid1.ColCount-1,i]);
здесь набросок вычитания единичной матрицы из полученой можно как цикл оформить это всё?
A[0]:=1-A[0]; A[1]:=0-a[1]; A[2]:=0-a[2];
B[0]:=0-b[0]; B[1]:=1-b[1]; B[2]:=0-b[2];
C[0]:=0-c[0]; C[1]:=0-c[1]; C[2]:=1-c[2];
Memo1.Lines[i]:=FloatTostr(c[i]); end; except on EConvertError do MessageBox(Form1.Handle,'Неправильный ввод данных!',nil,0); on EZeroDivide do MessageBox(Form1.Handle,'Деление на ноль нах!',nil,0); end;
А можно сделать чтбы после запятой было две цифры т.е вместо 0,1333333333333333 было 0,13 и ещё как в мемо сделать вывод построчно чтобы Первая строка была равна a[i] вторая b[i] 3 c[i]
begin try for i:=0 to StringGrid1.RowCount-1 do begin Вот сделал двумерный массив помогите транспанировать или сделать вывод в Мемо построчно A[i,0] := strtofloat(StringGrid1.Cells[0,i]) / strtofloat(StringGrid1.Cells[StringGrid1.ColCount-1,i]); A[i,1]:=strtofloat(StringGrid1.Cells[1,i]) / strtofloat(StringGrid1.Cells[StringGrid1.ColCount-1,i]); A[i,2]:=strtofloat(StringGrid1.Cells[2,i]) / strtofloat(StringGrid1.Cells[StringGrid1.ColCount-1,i]);
Memo1.Lines[i]:=FloatTostr(A[i,0]); end; except on EConvertError do MessageBox(Form1.Handle,'Неправильный ввод данных!',nil,0); on EZeroDivide do MessageBox(Form1.Handle,'Деление на ноль нах!',nil,0); end;
Why not settling on games that is fun and at the same time your earning. Well it'll make suspense because the game is well but dude just try it and it gave me hope while pandemic is real rn. Play Like a Pro with These Online Casino Tips