Короче тут попалась задачка все нп те-же матрици. Как бы неичего сложного, но оранизовать цикл, в котором идет вычисление, так и не смог Условие ее следуюшее:
Цитата
З клавиатуры ввести прямоугольную матрицу дейчтвительных чисел( максимальный размер- 22х15) Определить и напечатать номера двух строчек, введеной матрици, скалярное произведение который наибольшее.[Скалярное произведение- сумма попарных произведений одинаковых по номерам елементов этих векторов]
Буду очень благодарен за помощь, да, тут девчонка, сидит рядом со мной(ее задачка то) тоже говорит что будет благодарна!
klem4
30.11.2005 18:24
Ну хоть что-нибудь ты сделал ? Могу дать ссылку на FAQ ... но я думаю ты уже знаешь где он.
volvo
30.11.2005 18:28
Основной цикл:
max_scalar := -maxInt;
For i := 1to n_lines dobeginfor j := i+1to n_lines dobegin
scalar := 0;
for k := 1to n_rows do
scalar := scalar + a[i, k]*a[j, k];
if scalar > max_scalar thenbegin
max_scalar := scalar;
max_1 := i; max_2 := j;
end;
end;
end;
После этого цикла в max_1 будет номер одной строки, в max_2 - номер второй...
Alex7
30.11.2005 18:31
Цитата
Ну хоть что-нибудь ты сделал ? Могу дать ссылку на FAQ ... но я думаю ты уже знаешь где он.
Блин, конечно сделал! Вопервых это согласился что-бы ко мне пришла эта девчонка(хе, откажись тут....)) Вовторых попробовал составить цикл, в, но так и не понял, как организовать цикл, в котором будет сравниваться скалярное произведение всех елементов ряда. Иначе б я не писал сюда!
Alex7
30.11.2005 18:35
Цитата
-maxInt;
Спасиб, а это что такое? Мы такого выражения точно не брали! Или это ты такую переменную задал, тока чо там "-" ? Ну лад имею я max_1, max_2 , но чо мне с ними то делать?? Чото я сегодня совсем не варю!
volvo
30.11.2005 18:39
Ничего я не задавал... это уже до меня задали, в Паскале есть такая константа, определяет максимальное число, которое можно затолкнуть в Integer... А минус - для того, чтобы первое же найденное произведение было гарантированно больше этого числа...
Цитата
Ну лад имею я max_1, max_2 , но чо мне с ними то делать??
Цитата(Задание)
Определить и напечатать номера двух строчек, введеной матрици, скалярное произведение который наибольшее
Определил... Теперь напечатай...
Alex7
30.11.2005 18:43
Цитата
Определил... Теперь напечатай...
Понял, сенькс! ща буду пробовать)
Alex7
30.11.2005 20:43
Огромное спасибо, что не позволили мне опозорится))). Никак не мог включить варилку мозгов, когда рядом сидит такая фигурка... Это ещ детство играет наверное Все работает, доделано, все остались доаольны, А теперь, чтобы я таки в следующий раз, даже при таких обстоятельствах мог сам решить задачку.....
Цитата
в Паскале есть такая константа, определяет максимальное число, которое можно затолкнуть в Integer... А минус - для того, чтобы первое же найденное произведение было гарантированно больше этого числа...
Понятно, значит это вроде функции.да? Только я не понимаю, если это макс, то как "первое же найденное произведение" может быть больше его, даже если и будет longint ? А, или ты може имеешь ввиду нижнюю границу- максимальное минимальное число для Int ?
for k := 1to n_rows do
scalar := scalar + a[i, k]*a[j, k];
А этим циклом мы находим скалярое двух строчек ? Если да, то значит я главный цикл понял, только всеравно сразу б его стопудово не написал б! Сложновато ме еще( Не хватает опыта работы ...
volvo
30.11.2005 20:55
Ну, если будет LongInt то есть MaxLongInt ... Кстати, тот цикл, который ты привел, именно и ищет скалярное произведение...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.