|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.08.2009, 13:42 | #1 |
Новичок
Джуниор
Регистрация: 21.08.2009
Сообщений: 6
|
Проверьте программку...
Здрасте! Решаю контрольную работу на Делфи, раньше с ним не сталкивалась. Задачка вроде легкая, пытаюсь разобраться, но возникают вопросы... Помогите, пожалуйста, проверьте...
Нужно пределить максимальный элемент главной диагонали матрицы. Моя программка не выдает результат, если он стоит на позиции (1,1). Подозреваю, что неправильно использую StringGrid... Подскажите правильный вариант... unit Massiv; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, Grids; type TForm1 = class(TForm) StringGrid1: TStringGrid; SpinEdit1: TSpinEdit; Edit1: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; n,i,j,max:integer; a:array[1..20,1..20] of integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin n:=strtoint(SpinEdit1.Text); randomize; for i:=1 to n do for j:=1 to n do a[i,j]:=random(20); for i:=1 to n do for j:=1 to n do begin StringGrid1.Cells[j-1,i-1]:=inttostr(a[i,j]); end; end; procedure TForm1.Button2Click(Sender: TObject); begin for i:=0 to 20 do for j:=0 to 20 do StringGrid1.Cells[j,i]:= ''; Edit1.Text:=''; end; procedure TForm1.Button3Click(Sender: TObject); begin max:=a[1,1]; for i:=1 to n do if a[i,i]>max then begin max:=a[i,i]; Edit1.Text:=inttostr(max); end; end; end. |
21.08.2009, 13:46 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
21.08.2009, 13:49 | #3 |
Новичок
Джуниор
Регистрация: 21.08.2009
Сообщений: 6
|
Это значит Определить..
|
21.08.2009, 13:49 | #4 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
|
21.08.2009, 13:51 | #5 |
Новичок
Джуниор
Регистрация: 21.08.2009
Сообщений: 6
|
Я девушка!
|
21.08.2009, 14:04 | #6 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
В процедуре Button3Click строку Edit1.Text:=inttostr(max); вынесите из цикла в конец и всего делов. Изначально же максимум приравнивается первому элементу, потому условие в теле цикла не выполнится и ничего в Edit не выведется. Ну и цикл логичнее с двух начинать в данном случае.
|
21.08.2009, 14:12 | #7 |
Новичок
Джуниор
Регистрация: 21.08.2009
Сообщений: 6
|
Спасибо за совет, щас попробую
|
21.08.2009, 14:26 | #8 |
Новичок
Джуниор
Регистрация: 21.08.2009
Сообщений: 6
|
А можете подсказать как вычислить сумму x/i! (по i=1..n)? Нужно использовать все циклы... Я извиняюсь конечно за свое незнание, но "все" это сколько? For, while, repeat - я знаю, может и другие есть?
|
21.08.2009, 15:15 | #9 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Код:
Цитата:
Цитата:
I'm learning to live...
|
|||
21.08.2009, 15:31 | #10 |
Новичок
Джуниор
Регистрация: 21.08.2009
Сообщений: 6
|
Спасибо за вариант
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите переделать программку ... | hen | Общие вопросы C/C++ | 14 | 07.04.2009 21:12 |
проверьте программку пожалуйста! | djem90 | Помощь студентам | 2 | 08.12.2008 01:35 |
Скомпилить программку в С++ | Юль_кА | Общие вопросы C/C++ | 1 | 09.06.2008 22:40 |
Закиньте программку | KlErik | БД в Delphi | 2 | 15.01.2007 14:49 |