Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2011, 18:11   #1
TIM123
 
Регистрация: 05.12.2011
Сообщений: 6
По умолчанию главная диагональ матрицы

как в делфи прописать чтоб в матрице все элементы главной диагонали заменялись нулями. Вот мой код
procedure TForm1.Button1Click(Sender: TObject);
const m=12; n=12;
var b: array [1..n, 1..m] of integer ;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
b[i,j]:= Strtoint(StringGrid1.Cells[j,1]) ;
for i:=1 to n do
for j:=i to m do
if b[i,j]=0 then
begin if i=j then b[i,j]=0;
end;
StringGrid1.Cells[j,i]:=FloatToStr(b[i,j]);
ГДЕ ОШИБКА???
TIM123 вне форума Ответить с цитированием
Старый 21.12.2011, 18:17   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от TIM123 Посмотреть сообщение
как в делфи прописать чтоб в матрице все элементы главной диагонали заменялись нулями. Вот мой код
procedure TForm1.Button1Click(Sender: TObject);
const m=12; n=12;
var b: array [1..n, 1..m] of integer ;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
b[i,j]:= Strtoint(StringGrid1.Cells[j,1]) ;
for i:=1 to n do
for j:=i to m do
if b[i,j]=0 then
begin if i=j then b[i,j]=0;
end;
StringGrid1.Cells[j,i]:=FloatToStr(b[i,j]);
ГДЕ ОШИБКА???
Вот так -
Код:
for i:=1 to n do
   Arr[i,i]:=0;
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 21.12.2011, 18:24   #3
TIM123
 
Регистрация: 05.12.2011
Сообщений: 6
По умолчанию

а чо такой короткий? и если это поправка то куда ее вставлять?
TIM123 вне форума Ответить с цитированием
Старый 21.12.2011, 18:30   #4
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от TIM123 Посмотреть сообщение
а чо такой короткий? и если это поправка то куда ее вставлять?
Я не понял, зачем вы в этой процедуре используете массив? Можно без него обойтись, просто в StringGrid'е поменять и все!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 21.12.2011, 18:37   #5
TIM123
 
Регистрация: 05.12.2011
Сообщений: 6
По умолчанию

нужно программно заменить на нули
TIM123 вне форума Ответить с цитированием
Старый 21.12.2011, 18:42   #6
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от TIM123 Посмотреть сообщение
нужно программно заменить на нули
Ну это понятно! Просто вот так делаешь -
Код:
for i:=1 to n do
   StringGrid1.cells[i,i]:=inttostr(0);
Помог - жми на весы!
ByAlex89@mail.ru

Последний раз редактировалось ByAlex; 21.12.2011 в 18:46.
ByAlex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Главная диагональ Айдар Помощь студентам 4 09.04.2010 16:34
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19
Диагональ матрицы Pecherni Общие вопросы C/C++ 2 16.03.2009 17:47
[qBasic]Главная диагональ, прошу помощи toyvo14 Помощь студентам 2 15.12.2008 22:10
Вопрос: Побочная диагональ матрицы в С++ john350 Помощь студентам 4 16.03.2008 22:19