IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> И опять матрици...., задачка
Alex7
сообщение 30.11.2005 18:21
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской

Репутация: -  0  +


Короче тут попалась задачка все нп те-же матрици. Как бы неичего сложного, но оранизовать цикл, в котором идет вычисление, так и не смог mega_chok.gif
Условие ее следуюшее:
Цитата
З клавиатуры ввести прямоугольную матрицу дейчтвительных чисел( максимальный размер- 22х15) Определить и напечатать номера двух строчек, введеной матрици, скалярное произведение который наибольшее.[Скалярное произведение- сумма попарных произведений одинаковых по номерам елементов этих векторов]

Буду очень благодарен за помощь, да, тут девчонка, сидит рядом со мной(ее задачка то) тоже говорит что будет благодарна! lol.gif give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 30.11.2005 18:24
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ну хоть что-нибудь ты сделал ? Могу дать ссылку на FAQ ... но я думаю ты уже знаешь где он.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 30.11.2005 18:28
Сообщение #3


Гость






Основной цикл:
max_scalar := -maxInt;
For i := 1 to n_lines do begin
for j := i+1 to n_lines do begin
scalar := 0;

for k := 1 to n_rows do
scalar := scalar + a[i, k]*a[j, k];

if scalar > max_scalar then begin
max_scalar := scalar;
max_1 := i; max_2 := j;
end;
end;
end;

После этого цикла в max_1 будет номер одной строки, в max_2 - номер второй...
 К началу страницы 
+ Ответить 
Alex7
сообщение 30.11.2005 18:31
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской

Репутация: -  0  +


Цитата
Ну хоть что-нибудь ты сделал ? Могу дать ссылку на FAQ ... но я думаю ты уже знаешь где он.

Блин, конечно сделал!
Вопервых это согласился что-бы ко мне пришла эта девчонка(хе, откажись тут....))
Вовторых попробовал составить цикл, в, но так и не понял, как организовать цикл, в котором будет сравниваться скалярное произведение всех елементов ряда.
Иначе б я не писал сюда! wink.gif wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Alex7
сообщение 30.11.2005 18:35
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской

Репутация: -  0  +


Цитата
-maxInt;

Спасиб, а это что такое?
Мы такого выражения точно не брали! Или это ты такую переменную задал, тока чо там "-" ?
Ну лад имею я max_1, max_2 , но чо мне с ними то делать?? wacko.gif
Чото я сегодня совсем не варю! wub.gif nea.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 30.11.2005 18:39
Сообщение #6


Гость






Ничего я не задавал... это уже до меня задали, в Паскале есть такая константа, определяет максимальное число, которое можно затолкнуть в Integer... А минус - для того, чтобы первое же найденное произведение было гарантированно больше этого числа...

Цитата
Ну лад имею я max_1, max_2 , но чо мне с ними то делать??

Цитата(Задание)
Определить и напечатать номера двух строчек, введеной матрици, скалярное произведение который наибольшее

Определил... Теперь напечатай...
 К началу страницы 
+ Ответить 
Alex7
сообщение 30.11.2005 18:43
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской

Репутация: -  0  +


Цитата
Определил... Теперь напечатай...

Понял, сенькс! ща буду пробовать)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Alex7
сообщение 30.11.2005 20:43
Сообщение #8


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской

Репутация: -  0  +


Огромное спасибо, что не позволили мне опозорится))). Никак не мог включить варилку мозгов, когда рядом сидит такая фигурка... wacko.gif lol.gif Это ещ детство играет наверное wink.gif
Все работает, доделано, все остались доаольны, А теперь, чтобы я таки в следующий раз, даже при таких обстоятельствах мог сам решить задачку.....
Цитата
в Паскале есть такая константа, определяет максимальное число, которое можно затолкнуть в Integer... А минус - для того, чтобы первое же найденное произведение было гарантированно больше этого числа...

Понятно, значит это вроде функции.да?
Только я не понимаю, если это макс, то как "первое же найденное произведение" может быть больше его, даже если и будет longint ? А, или ты може имеешь ввиду нижнюю границу- максимальное минимальное число для Int ?
for k := 1 to n_rows do
scalar := scalar + a[i, k]*a[j, k];
А этим циклом мы находим скалярое двух строчек ? Если да, то значит я главный цикл понял, только всеравно сразу б его стопудово не написал б! Сложновато ме еще( Не хватает опыта работы nea.gif ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 30.11.2005 20:55
Сообщение #9


Гость






Ну, если будет LongInt то есть MaxLongInt ...
Кстати, тот цикл, который ты привел, именно и ищет скалярное произведение...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 11:55
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"