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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2011, 20:40   #1
Fri
Пользователь
 
Регистрация: 24.04.2011
Сообщений: 26
По умолчанию Изменение строк матрицы А при условии, что на главной диагонали есть отрицательный эл-нт

Всем доброго времени суток. Недавно начал изучать дельфи и пока не всё понимаю. Нужно решить задачку, но примеров( записей) нет и протестировать её негде, поэтому прошу вашей помощи.

Условие задачи:Изменить все строки матрицы А, в которых отрицателен элемент главной диагонали: к каждому элементу i-й строки прибавляется элемент Ti из заданного массива T1,T2,T3....Tn. Подсчитать число измененных строк матрицы А.

Программу нужно написать в Borland Delphi.

Вот что у меня получилось:

Код:
Type
matr=array[1..4,1..4] of integer;
mas=array[1..4] of integer;
 
Var
i,j,k,n:integer;
A:matr
T:mas
 
begin
n:=StrToFloat(Edit1.Text)
A[i][j]:=StrToInt(StringGrid1->Cells[i+1][j+1]);
T[i]:=StrToInt(StringGrid2->Cells[i+1]);
k:=0    //Это будет кол-во измененных строк матрицы.
for i:=1 to 4 do
for j:=i to 4 do
If A[i][j]<0 then
begin
A[i][j]:=A[i][j]+T[i];
k=k+1
end;
Label1.Caption:=IntToStr(k);
end.
Какие у меня ошибки? Или программа вообще не такая?)

-------------------------------------------------------------------------------------------------
Аааа..он же у меня тогда наверн изменяет только тот элемент, который отрицательный на главной диагонали, а мне надо чтобы он строчку изменял...
Fri вне форума Ответить с цитированием
Старый 20.09.2011, 11:38   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

у Вас почти всё неправильно. (и код даже компилироваться не будет! например, где точки с запятой после каждого оператора?!)

1) элемент главной диагонали это A[i, i] (т.е. индексы ОДИНАКОВЫ)

2) Вы НЕ переносите элементы из StringGrid1 и StringGrid2!!
Это нужно делать В ЦИКЛЕ! А где у Вас цикл?!

3) ну и на фоне первых двух ошибок, третья уже совсем маленькая (но тем не менее, важная): в StringGrid сначала указывается индекс СТОЛБЦА, а потом индекс СТРОКИ. в адресации массива - строго наоборот.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму элементов матрицы главной и побочной диагонали...(( Анастасия01 Помощь студентам 4 30.06.2011 13:52
Найти сумму элементов главной диагонали матрицы (Паскаль.) r.elen Помощь студентам 10 14.04.2011 13:24
Максимальный элемент выше главной диагонали матрицы (C#) Dj_SheLL Помощь студентам 2 14.02.2011 23:21
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. Volk_xD Помощь студентам 6 05.01.2011 13:39
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15