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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2010, 16:05   #1
N___G
 
Регистрация: 12.09.2010
Сообщений: 3
По умолчанию Матрица умножение по диагоналей на Java языке

Матрица размером 5*3.
а11 а12 а13 а14 а15
а21 а22 а23 а24 а25
а31 а32 а33 а34 а34
Надо:S1= а11*а22*а33 + а12*а23*а34 + а13*а24*а35 ;
S2= a15*a24*a33 + a14*a23*a32 + a13*a22*a31;
S=S1-S2;
Я понимаю как єто считать,но не понимаю как написать это на джава языке. Подскажите пожалуйста.
начало такой :
public class 01 {
public static void main(String[]args){
int [][]a={{1,2,3,4,5},
{-1,-2,-3,-4,-5},
{5,4,3,2,1}};
int b=0;
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length;j++){
b=a[i][j]*a[i][j]; - это не верно,надо по другому.Это получается что матрица умножается на матрицу.


System.out.print(b+" ");
}
System.out.println();
}
}
}
N___G вне форума Ответить с цитированием
Старый 12.09.2010, 17:12   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
b=a[i][j]*a[i][j];
Тогда хотябы
Код:
b += a[i][j]*a[i][j];
.

Внимательно посмотрите на индексы. Ничего не замечаете? ТОгда тупо забейте без циклов.
p51x вне форума Ответить с цитированием
Старый 12.09.2010, 17:52   #3
N___G
 
Регистрация: 12.09.2010
Сообщений: 3
По умолчанию

насчет индекса я знаю. Начинаются не с 1 а с нуля. Но посмотрев здесь, все пишут с 1, и я так написала, чтоб остальным понятнее. Мне нужно именно с циклом. А без можно и запросто написать. Могу исправить по поводу индекса :
Матрица размером 5*3.
а00 а01 а02 а03 а04
а10 а11 а12 а13 а14
а20 а21 а22 а23 а24
Надо:S1= а00*а11*а22 + а01*а12*а23 + а02*а13*а24 ;
S2= a04*a13*a22 + a03*a12*a21 + a02*a11*a20;
S=S1-S2;

И с этим b+=a[i][j] не верно. Ответ не тот. Из этих цифр ответ должно быть 108

.............

Последний раз редактировалось Stilet; 13.09.2010 в 15:19.
N___G вне форума Ответить с цитированием
Старый 12.09.2010, 18:56   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
И с этим b+=a[i][j] не верно.
Я и не говорил, что это правильно. Это просто одна из ваших ошибок.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java, алгоритм суммирования диагоналей матрицы MMM_Corp Фриланс 3 25.03.2010 18:38
Сортировка диагоналей матрицы skiffter Общие вопросы Delphi 8 07.10.2009 19:40
Умножение массива на число (Java) Folly Помощь студентам 4 14.03.2009 11:35