|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.12.2007, 14:11 | #1 |
Регистрация: 04.12.2007
Сообщений: 9
|
Двумерные массивы
Дана действительная квадратная матрица порядка n. В строках с отрицательным элементом на главной диагонали найти наибольший из всех элементов.
Помогите дальше: procedure TForm1.Button1Click(Sender: TObject); var A: array of array of real; i, j , m,n : integer; max:real; begin randomize; n:= Strtoint(Inputbox('Окно ввода', 'Введите порядок матрицы', '1')); Setlength(A,n,n); SG.ColCount:=n; SG.RowCount:=n; for i := low(A) to high(A) do for j := low(A) to high(A) do begin A[i,j] := random*101-50; SG.Cells[j,i]:= floattostrf(A[i,j],ffFixed,5,2); end; for i := low(A) to high(A) do for j := low(A) to high(A) do begin if (j=i) and (A[i,j]<0) then begin ......... Как из отообранных элементов найти наибольший??? |
04.12.2007, 14:17 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Тут надо сначала в первом цикле смотреть на a[i,i]
а во втором цикле уже искать максимум
I'm learning to live...
|
04.12.2007, 14:29 | #3 |
Регистрация: 04.12.2007
Сообщений: 9
|
Программа уже нашла эти элементы, осталось из них выбрать максимальный!
|
04.12.2007, 16:03 | #4 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Вставь этот кусок кода:
Код:
Цитата:
Последний раз редактировалось puporev; 04.12.2007 в 16:23. |
|
04.12.2007, 16:04 | #5 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Код:
|
04.12.2007, 18:03 | #6 |
Регистрация: 04.12.2007
Сообщений: 9
|
puporev ! Спасибо огромное! Только программа выбирает максимальный элемент из последней строки, в которой отрицательный элемент на главной диагонали. А надо чтобы он был максимальным из всех таких строк. ((
|
04.12.2007, 21:30 | #7 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Ты что-то неправильно написала при выводе, у меня это в Паскале работает нормально, выдает max по всем строчкам, где a[i,i]<0.
Покажи свой код. Последний раз редактировалось puporev; 04.12.2007 в 22:19. |
05.12.2007, 14:14 | #8 |
Регистрация: 04.12.2007
Сообщений: 9
|
procedure TForm1.Button1Click(Sender: TObject);
var A: array of array of real; k,i,j,m,n : integer; max:real; begin randomize; n:= Strtoint(Inputbox('Окно ввода', 'Введите порядок матрицы', '1')); Setlength(A,n,n); SG.ColCount:=n; SG.RowCount:=n; for i := low(A) to high(A) do for j := low(A) to high(A) do begin A[i,j] := random*101-50; SG.Cells[j,i]:= floattostrf(A[i,j],ffFixed,8,2); end; for i := low(A) to high(A) do for j := low(A) to high(A) do begin if (j=i) and (A[i,j]<0) then begin max:=A[i,0]; for k:=1 to n do begin if A[i,k]>max then begin max:=a[i,k]; end; end; label1.Caption:=floattostr(max); end; end; finalize(A); end; |
05.12.2007, 14:42 | #9 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Случаем ни здесь ошибка:
Код:
ЗЫ: Заключайте, пожалуйста, код в теги [СODE][/СODE] или используйте кнопочку #. |
05.12.2007, 14:56 | #10 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Зачем
Код:
Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двумерные массивы в Си. | necky | Помощь студентам | 2 | 17.05.2009 19:35 |
Двумерные массивы | Lioness | Помощь студентам | 2 | 06.01.2008 12:39 |
C++ Двумерные массивы | АНЮТКА555 | Помощь студентам | 1 | 10.12.2007 12:42 |