Дана квадратная матрица А порядка n. Получить матрицу АВ; элементы матрицы В вычисляются по формуле:
*******1/(i+j-1), если i<j b[i,j] = 0 , если i=j *******1/(i+j+1), если i>j фигурная скобка на три строки после знака равно(=)
Спасибо за хоть какую-нибудь помощь!!
Автор: Shuruper 26.01.2010 20:28
Матрица AB это в смысле произведение A*B?
Автор: CeMeH 26.01.2010 20:34
Цитата(Shuruper @ 26.01.2010 16:28)
Матрица AB это в смысле произведение A*B?
да...
Автор: Shuruper 26.01.2010 20:36
А что именно тебе не понятно, как умножать матрицы или что?
Автор: CeMeH 26.01.2010 20:42
Цитата(Shuruper @ 26.01.2010 16:36)
А что именно тебе не понятно, как умножать матрицы или что?
Как написать прогу в паскале??? Блин, народ, помогите оч. нужно, завтра последний день сдачи... еще 3 задачи осталось решить... Мозг взрываю, ума не хватает... помогите плз... хотя б с этой...
Автор: Shuruper 26.01.2010 20:46
Эх, держи халявщик:
const NMax = 10;{можно увеличить} type Matrix = array [1..NMax, 1..NMax] of Real;
procedure MulMatrix(var a, b, c: Matrix; n: Integer); var i, j, k: Integer; s: Real; begin for i := 1 to n do for j := 1 to n do begin s := 0; for k := 1 to n do s := s + a[i, k]*b[k, j]; c[i, j] := s end
end;
var a, b, c: Matrix; i, j, n: Integer; begin WriteLn('Введите порядок матрицы'); Write('n = '); ReadLn(n);
WriteLn('Введите первую матрицу A'); for i := 1 to n do for j := 1 to n do Read(a[i, j]);
for i := 1 to n do begin for j := 1 to n do begin If i<j then b[i,j]:=1/(i+j-1); If i>j then b[i,j]:=1/(i+j+1); If i=j then b[i,j]:=0; end; end;
MulMatrix(a, b, c, n); WriteLn('Матрица AB');
for i := 1 to n do begin for j := 1 to n do Write(c[i, j]:0:6, ' '); WriteLn end; ReadLn end.
Автор: CeMeH 26.01.2010 20:51
СПАСИБО БОЛЬШОЕ, ВЫ МНЕ ОЧЕНЬ ПОМОГЛИ!!!
Можно вопрос?
может ли процедура возвращать результат?
Автор: Shuruper 26.01.2010 20:56
Ну здесь ты сам думай.
Автор: volvo 26.01.2010 21:04
Цитата
СПАСИБО БОЛЬШОЕ, ВЫ МНЕ ОЧЕНЬ ПОМОГЛИ!!!
А вот расскажи мне, особенно одаренный ты наш, ЧЕМ ТЫ ЛУЧШЕ ДРУГИХ??? Почему ты в FAQ не можешь заглянуть ПЕРЕД ТЕМ, КАК ЗАДАТЬ ВОПРОС? Неужели же ты всерьез думаешь, что такое редкое задание, как перемножение матриц никогда и никто не делал, и даже о нем не спрашивал?
Shuruper, тебе тоже вопрос на засыпку: вместо того, чтобы писать "на коленке", и неотлаженное выбрасывать, да еще и с выражениями, типа "на тебе, халявщик", ты б тоже поиском воспользовался, для начала. А то я смотрю, ты решил, что Правила - не для тебя? Не ошибись, смотри.
Есть отлаженная прекрасно работающая процедура, нет, блин, каждый должен написать САМ... А потом этот самопальный костыль дает сбой, и что? Кто виноват? Разумеется, Форум... Про автора костыля уже никто не вспоминает, ага.
Цитата
может ли процедура возвращать результат?
Только в качестве побочного эффекта. Дальше - читай документацию.
Автор: CeMeH 26.01.2010 21:07
Цитата(Shuruper @ 26.01.2010 16:56)
Ну здесь ты сам думай.
Деваться не куда... прийдется...
Автор: Ozzя 26.01.2010 21:07
Цитата
может ли процедура возвращать результат?
Может.
Автор: CeMeH 26.01.2010 21:14
Цитата(volvo @ 26.01.2010 17:04)
А вот расскажи мне, особенно одаренный ты наш, ЧЕМ ТЫ ЛУЧШЕ ДРУГИХ??? Почему ты в FAQ не можешь заглянуть ПЕРЕД ТЕМ, КАК ЗАДАТЬ ВОПРОС? Неужели же ты всерьез думаешь, что такое редкое задание, как перемножение матриц никогда и никто не делал, и даже о нем не спрашивал?
к сожалению - ничем!!! Все смертны, всем свойственно ошибаться, а ошибаться по незнанию не повод "для громких слов"!!!
Цитата(volvo @ 26.01.2010 17:04)
Есть отлаженная прекрасно работающая процедура, нет, блин, каждый должен написать САМ... А потом этот самопальный костыль дает сбой, и что? Кто виноват? Разумеется, Форум... Про автора костыля уже никто не вспоминает, ага.
Только в качестве побочного эффекта. Дальше - читай документацию.
Прошу прощение, если что-то сделал не так, ув. VOLVO...
C уважением!
Автор: CeMeH 26.01.2010 21:59
Цитата(volvo @ 26.01.2010 17:04)
Неужели же ты всерьез думаешь, что такое редкое задание, как перемножение матриц никогда и никто не делал, и даже о нем не спрашивал?
хм... удивительное совпадение! нашел: тема "задачка", автор ruslik... То, что нужно!!!
"Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае."
М...да... вот только ответ МЕГА удивил... volvo пишет: Может все-таки функцию? Процедура результатов не возвращает... Или опять извращаться?
Что значит опять???? Если у вас есть исходник, неужели так сложно кинуть ссылкой?! А! volvo??? Вы ж админ, разве ваша помощь заключается в советах "делай сам, ищи где хочешь и т.д.!!!"? Зачем тогда форум? зачем вы на форуме?
Кста... именно ПРОЦЕДУРУ...
Цитата(volvo @ 26.01.2010 17:04)
Есть отлаженная прекрасно работающая процедура, нет, блин, каждый должен написать САМ... А потом этот самопальный костыль дает сбой, и что? Кто виноват? Разумеется, Форум... Про автора костыля уже никто не вспоминает, ага.
Если вас не затруднит, укажите путь к "прекрасно работающей процедуре" на эту тему? Что то кроме ф-ии malice я ничего не нашел...
С уважением, пока еще не выгнали, студент!!!
Автор: Unconnected 27.01.2010 0:39
CeMeH, в заголовке этого раздела, если посмотреть, есть некоторые правила, в числе которых есть это:
Цитата
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
FAQ даже красными большими буквами, наверное, специально для людей с расстройствами зрения. В этом самом FAQ есть тема "Массивы. Матрицы. Типичные задачи.". Там то, что тебе нужно.
Цитата
Если у вас есть исходник, неужели так сложно кинуть ссылкой?!
Таких как ты много, очень много. Рука устанет кидать. Поэтому для самых одарённых из тех, кто не хочет сам писать, придумали поиск и выложили много полезного материала.
Автор: CeMeH 27.01.2010 1:10
Цитата(Unconnected @ 26.01.2010 20:39)
Таких как ты много, очень много. Рука устанет кидать. Поэтому для самых одарённых из тех, кто не хочет сам писать, придумали поиск и выложили много полезного материала.
Unconnected, спасибо за справку, я сделал выводы, но все же... конкретно:
Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае.
С этой задачей поиск не справился, а точнее справился, но ответа на нее я так и не нашел...
Может посмотрите плз?
Как же так? volvo говорил, что "прекрасная откомпилированная процедура"... но неужели она не доступная простым смертным студентам????
с Уважением!
Автор: sheka 27.01.2010 1:44
Цитата
Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае.
Лично я вообще не вкурил задания. наверное имеется ввиду такая процедура: Ничего не компилирую, пишу с головы. procedure proc(var c:char);
т.е. если входит символ или маленькая буква, то он и остается, а если входит большая буква - то переводится в маленькую..
Автор: Unconnected 27.01.2010 2:13
Цитата
Цитата(volvo @ 26.01.2010 17:04) *
Есть отлаженная прекрасно работающая процедура, нет, блин, каждый должен написать САМ... А потом этот самопальный костыль дает сбой, и что? Кто виноват? Разумеется, Форум... Про автора костыля уже никто не вспоминает, ага.
Если вас не затруднит, укажите путь к "прекрасно работающей процедуре" на эту тему? Что то кроме ф-ии malice я ничего не нашел...
Тебе не кажется, что та реплика относилась к первой твоей задаче, где матрицы перемножать? Или, думаешь, они (реплики) универсальные?
Цитата
С этой задачей поиск не справился
Уж не думаешь ли ты, что поиск будет искать тебе решённые задачи на протяжении всей учёбы? Это ж не лампа Алладина.. Поиск, если даже и не на форуме, то в интернете, зато, может найти процедуры и функции для работы со строками-символами.
Цитата
Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае.
Мне кажется, результат работы это не обязательно "возвращаемое значение".
Автор: CeMeH 27.01.2010 18:21
Цитата(Unconnected @ 26.01.2010 22:13)
Мне кажется, результат работы это не обязательно "возвращаемое значение".
Я задачи не придумываю, если кажется - крестись, может поможет!!!
Автор: Lapp 28.01.2010 3:07
Цитата(CeMeH @ 27.01.2010 14:21)
Я задачи не придумываю, если кажется - крестись, может поможет!!!
Семен, ты обнаглел. Почему ты думаешь, что тебе вообще кто-то должен?? Я не хочу цитировать весь твой бред.
Зачем форум? Форум - для ТЕХ у кого есть конкретные ВОПРОСЫ ПО ПРОГРАММИРОВАНИЮ. Те, кто дает условие задачи и хочет решение - те могут рассчитывать ТОЛЬКО на то, что их тему, может быть, сразу не закроют. Нет, скажи, ты правда думал, что форум для того, чтобы делать задания лоботрясам?
Зачем МЫ на форуме? В самом деле - зачем?? зачем мы тратим свое время и платим свои деньги за хостинг? Чтобы вот ТАКИЕ спрашивали? Вот порно сайты - они понятно, зачем, про них никто не спрашивает.. Их миллионы - и никто не спрашивает - зачем? А вот есть один-два по реальному делу, сразу вопросы - а зачем? Не нравится - не ешь. А лучше спроси у многих тысяч, которым тут помогли, а не заламывай руки, как недоделанный Гамлет..
М
Пока ты высказывал претензии к Администрации - я терпел. Когда ты стал оскорблять участников Форума (см. цитату) - я не могу терпеть. Ты на премодерации.
.. и -1 в репутацию от меня лично.
Кста.. (С) Тебе же сказали: искать в FAQ (красная ссылка вверху страницы). Вот твое умножение: http://forum.pascal.net.ru/index.php?s=&showtopic=2694&view=findpost&p=23475 .
Процедура может возвращать результат, но только в параметрах. Передача значения в параметре var в строгом смысле возвращением результата не является. Если в вопросе не уточняется, как именно возвращает, то каждый волен понимать его, как хочет, или в зависимости от контекста. Иными словами, и Да, и Нет - верные ответы. Причем Да верен с практической точки зрения, а Нет - с формальной.
Автор: Lapp 28.01.2010 23:32
Ситуация обсуждена с пользователем СеМеН в личной переписке, пользователь проявил понимание. Премодерация снята.
И лично от меня +1 ))
Автор: volvo 28.01.2010 23:41
Угу... Значит, "наехал" он публично на всех, а "проявил понимание" - приватно? Очень мило
Автор: Lapp 28.01.2010 23:52
Цитата(volvo @ 28.01.2010 19:41)
Угу... Значит, "наехал" он публично на всех, а "проявил понимание" - приватно? Очень мило
Да, я пошел ему навстречу. Я думаю, так будет лучше для всех. Увидим?
Впрочем, ничто не мешает ему принести извинения и тут, если он сочтет нужным.
Автор: CeMeH 31.01.2010 13:25
Цитата(Lapp @ 28.01.2010 19:52)
Впрочем, ничто не мешает ему принести извинения и тут, если он сочтет нужным.
Да верно, конечно же, к чему лишние сомнения...
*****************ПУБЛИЧНО!!!*********************
Приношу ВСЕМ, к кому проявил грубое отношение, искренние извинения... и сожалею о случившемся... Я всего лишь человек, и как любому человеку свойственно ошибаться, - я ошибся... Ошибся в не "соответственном" диалоге с Вами, ув. форумчане... Андрей смог уделить мне время и объяснить сложившуюся ситуацию из кот. я думаю имеет СМЫСЛ сделать выводы, не только мне...
Взаимопонимание строится, в первую очередь, на должностном обращении к собеседникам обеих сторон(т.е. проявление уважения не только со стороны нуждающегося, но и со стороны помогающего...) И как бы Вы не хотели, Владимир, без этого... человеческого разговора просто не получится... Подумайте... И не нужно высокомерия... Это не к чему!!! Великолепная, на мой взгляд, народная мудрость гласит, что "все живое имеет начало и конец... следовательно, непобедимых нет, любой может победить любого, но не всякий может стать лучшим..." и, наверное, имеет место не просто станет, а то как он этого достигнет!!! Ах да... и не забывайте, что "не следует относится к другим так, как не хотели бы чтоб отнеслись к Вам..."
Владимир, именно это и обсуждалось приватно... Вы это хотели услышать?
Если имеется желание обсудить... я не против ответить на ваши вопросы...
Наверное так же добавлю, что не нужно забывать и то, что "любое поражение делает сильнее", а поражение из которого извлекаются ошибки, наверное, еще сильнее... а признание этих ошибок - "непобедимым"... К примеру, немножко по глобальней... Не каждый способен признать, что был не прав в критической ситуации, потому, что просто сработает инстинкт самосохранения, кот. обычно преобладает над правдой... Просто так и есть... Боягузы всегда молчат и не преодолевают ступень преграды; ими владеет чувство страха... И можно сравнить, если я не ошибаюсь абсолютный идеализм Гегеля с поведением питбуля(для пита не свойственно страх, т.е. боятся)... Пит всегда стремится быть победителем в своей игре, при этом ТОЛЬКО среди себе подобных(это так называемая "интеллигенция", кот. позволяет ему различать реакцию на угрозу, поэтому то пит "не тронет" меньшего, слабшего...) У Гегеля были принципы те же... Сильный волей и справедливый человек! и в тоже время он говорил "жалость унижает",... у питов - нет жалости... у них жажда победы любой ценой, даже ценой жизни, когда ЖЕЛАНИЕ "ВЫИГРАТЬ" ПРЕОБЛАДАЕТ НАД ИНСТИНКТОМ ВЫЖИТЬ... В этом... идеалы Гегеля сходятся... Та что там Гегель.... Гитлер тоже пытался - раса Арийцев... ну эт я увекся... прошу прощения... Это я к тому, что признание, в первую очередь, себе, это реальное понимание обстановки, и реакция на эту обстановку обусловлена факторами степени признания...