Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
CeMeH
Помогите, оч. нужно

Дана квадратная матрица А порядка n. Получить матрицу АВ; элементы матрицы В вычисляются по формуле:

*******1/(i+j-1), если i<j
b[i,j] = 0 , если i=j
*******1/(i+j+1), если i>j
фигурная скобка на три строки после знака равно(=)

Спасибо за хоть какую-нибудь помощь!! give_rose.gif
Shuruper
Матрица AB это в смысле произведение A*B?
CeMeH
Цитата(Shuruper @ 26.01.2010 16:28) *

Матрица AB это в смысле произведение A*B?


да...
Shuruper
А что именно тебе не понятно,
как умножать матрицы или что?
CeMeH
Цитата(Shuruper @ 26.01.2010 16:36) *

А что именно тебе не понятно,
как умножать матрицы или что?

Как написать прогу в паскале??? blink.gif
Блин, народ, помогите оч. нужно, завтра последний день сдачи... еще 3 задачи осталось решить... Мозг взрываю, ума не хватает... помогите плз... хотя б с этой...

give_rose.gif
Shuruper
Эх, держи халявщик:

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
СПАСИБО БОЛЬШОЕ, ВЫ МНЕ ОЧЕНЬ ПОМОГЛИ!!! good.gif
give_rose.gif give_rose.gif give_rose.gif give_rose.gif give_rose.gif

Можно вопрос?

может ли процедура возвращать результат?
Shuruper
Ну здесь ты сам думай.
volvo
Цитата
СПАСИБО БОЛЬШОЕ, ВЫ МНЕ ОЧЕНЬ ПОМОГЛИ!!!
А вот расскажи мне, особенно одаренный ты наш, ЧЕМ ТЫ ЛУЧШЕ ДРУГИХ??? Почему ты в FAQ не можешь заглянуть ПЕРЕД ТЕМ, КАК ЗАДАТЬ ВОПРОС? Неужели же ты всерьез думаешь, что такое редкое задание, как перемножение матриц никогда и никто не делал, и даже о нем не спрашивал?

Shuruper, тебе тоже вопрос на засыпку: вместо того, чтобы писать "на коленке", и неотлаженное выбрасывать, да еще и с выражениями, типа "на тебе, халявщик", ты б тоже поиском воспользовался, для начала. А то я смотрю, ты решил, что Правила - не для тебя? Не ошибись, смотри. mad.gif

Есть отлаженная прекрасно работающая процедура, нет, блин, каждый должен написать САМ... А потом этот самопальный костыль дает сбой, и что? Кто виноват? Разумеется, Форум... Про автора костыля уже никто не вспоминает, ага.

Цитата
может ли процедура возвращать результат?
Только в качестве побочного эффекта. Дальше - читай документацию.
CeMeH
Цитата(Shuruper @ 26.01.2010 16:56) *

Ну здесь ты сам думай.

Деваться не куда... прийдется...
Ozzя
Цитата
может ли процедура возвращать результат?

Может.
CeMeH
Цитата(volvo @ 26.01.2010 17:04) *

А вот расскажи мне, особенно одаренный ты наш, ЧЕМ ТЫ ЛУЧШЕ ДРУГИХ??? Почему ты в FAQ не можешь заглянуть ПЕРЕД ТЕМ, КАК ЗАДАТЬ ВОПРОС? Неужели же ты всерьез думаешь, что такое редкое задание, как перемножение матриц никогда и никто не делал, и даже о нем не спрашивал?


к сожалению - ничем!!! Все смертны, всем свойственно ошибаться, а ошибаться по незнанию не повод "для громких слов"!!!

Цитата(volvo @ 26.01.2010 17:04) *

Есть отлаженная прекрасно работающая процедура, нет, блин, каждый должен написать САМ... А потом этот самопальный костыль дает сбой, и что? Кто виноват? Разумеется, Форум... Про автора костыля уже никто не вспоминает, ага.

Только в качестве побочного эффекта. Дальше - читай документацию.


Прошу прощение, если что-то сделал не так, ув. VOLVO...

C уважением!
CeMeH
Цитата(volvo @ 26.01.2010 17:04) *

Неужели же ты всерьез думаешь, что такое редкое задание, как перемножение матриц никогда и никто не делал, и даже о нем не спрашивал?


хм... удивительное совпадение! нашел:
тема "задачка", автор ruslik... То, что нужно!!!

"Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае."

М...да... вот только ответ МЕГА удивил...
volvo пишет:
Может все-таки функцию? Процедура результатов не возвращает... Или опять извращаться?


Что значит опять???? Если у вас есть исходник, неужели так сложно кинуть ссылкой?! А! volvo??? Вы ж админ, разве ваша помощь заключается в советах "делай сам, ищи где хочешь и т.д.!!!"? Зачем тогда форум? зачем вы на форуме?

Кста... именно ПРОЦЕДУРУ...

Цитата(volvo @ 26.01.2010 17:04) *

Есть отлаженная прекрасно работающая процедура, нет, блин, каждый должен написать САМ... А потом этот самопальный костыль дает сбой, и что? Кто виноват? Разумеется, Форум... Про автора костыля уже никто не вспоминает, ага.


Если вас не затруднит, укажите путь к "прекрасно работающей процедуре" на эту тему? Что то кроме ф-ии malice я ничего не нашел...

С уважением, пока еще не выгнали, студент!!! give_rose.gif

Unconnected
CeMeH, в заголовке этого раздела, если посмотреть, есть некоторые правила, в числе которых есть это:

Цитата
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!


FAQ даже красными большими буквами, наверное, специально для людей с расстройствами зрения. В этом самом FAQ есть тема "Массивы. Матрицы. Типичные задачи.". Там то, что тебе нужно.

Цитата
Если у вас есть исходник, неужели так сложно кинуть ссылкой?!


Таких как ты много, очень много. Рука устанет кидать. Поэтому для самых одарённых из тех, кто не хочет сам писать, придумали поиск и выложили много полезного материала.
CeMeH
Цитата(Unconnected @ 26.01.2010 20:39) *

Таких как ты много, очень много. Рука устанет кидать. Поэтому для самых одарённых из тех, кто не хочет сам писать, придумали поиск и выложили много полезного материала.


Unconnected, спасибо за справку, я сделал выводы, но все же... конкретно:

Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае.

С этой задачей поиск не справился, а точнее справился, но ответа на нее я так и не нашел...

Может посмотрите плз? give_rose.gif

Как же так? volvo говорил, что "прекрасная откомпилированная процедура"... но неужели она не доступная простым смертным студентам????

с Уважением!
sheka
Цитата
Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае.
Лично я вообще не вкурил задания.
наверное имеется ввиду такая процедура:
Ничего не компилирую, пишу с головы.
procedure proc(var c:char);
begin
if c in ['A'..'Z'] then c:=char(odd©+32)
end;

т.е. если входит символ или маленькая буква, то он и остается, а если входит большая буква - то переводится в маленькую..
Unconnected
Цитата
Цитата(volvo @ 26.01.2010 17:04) *

Есть отлаженная прекрасно работающая процедура, нет, блин, каждый должен написать САМ... А потом этот самопальный костыль дает сбой, и что? Кто виноват? Разумеется, Форум... Про автора костыля уже никто не вспоминает, ага.


Если вас не затруднит, укажите путь к "прекрасно работающей процедуре" на эту тему? Что то кроме ф-ии malice я ничего не нашел...


Тебе не кажется, что та реплика относилась к первой твоей задаче, где матрицы перемножать? Или, думаешь, они (реплики) универсальные?

Цитата
С этой задачей поиск не справился


Уж не думаешь ли ты, что поиск будет искать тебе решённые задачи на протяжении всей учёбы? Это ж не лампа Алладина.. Поиск, если даже и не на форуме, то в интернете, зато, может найти процедуры и функции для работы со строками-символами.

Цитата
Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае.


Мне кажется, результат работы это не обязательно "возвращаемое значение".
CeMeH
Цитата(Unconnected @ 26.01.2010 22:13) *

Мне кажется, результат работы это не обязательно "возвращаемое значение".


Я задачи не придумываю, если кажется - крестись, может поможет!!! norespect.gif
Lapp
Цитата(CeMeH @ 27.01.2010 14:21) *
Я задачи не придумываю, если кажется - крестись, может поможет!!! norespect.gif
Семен, ты обнаглел.
Почему ты думаешь, что тебе вообще кто-то должен??
Я не хочу цитировать весь твой бред.

Зачем форум? Форум - для ТЕХ у кого есть конкретные ВОПРОСЫ ПО ПРОГРАММИРОВАНИЮ. Те, кто дает условие задачи и хочет решение - те могут рассчитывать ТОЛЬКО на то, что их тему, может быть, сразу не закроют. Нет, скажи, ты правда думал, что форум для того, чтобы делать задания лоботрясам?

Зачем МЫ на форуме? В самом деле - зачем?? зачем мы тратим свое время и платим свои деньги за хостинг? Чтобы вот ТАКИЕ спрашивали? Вот порно сайты - они понятно, зачем, про них никто не спрашивает.. Их миллионы - и никто не спрашивает - зачем? А вот есть один-два по реальному делу, сразу вопросы - а зачем? Не нравится - не ешь. А лучше спроси у многих тысяч, которым тут помогли, а не заламывай руки, как недоделанный Гамлет..

М
Пока ты высказывал претензии к Администрации - я терпел. Когда ты стал оскорблять участников Форума (см. цитату) - я не могу терпеть. Ты на премодерации.


.. и -1 в репутацию от меня лично.

Кста.. (С) Тебе же сказали: искать в FAQ (красная ссылка вверху страницы). Вот твое умножение: Массивы. Матрицы. Типичные задачи. .

Процедура может возвращать результат, но только в параметрах. Передача значения в параметре var в строгом смысле возвращением результата не является. Если в вопросе не уточняется, как именно возвращает, то каждый волен понимать его, как хочет, или в зависимости от контекста. Иными словами, и Да, и Нет - верные ответы. Причем Да верен с практической точки зрения, а Нет - с формальной.
Lapp
Ситуация обсуждена с пользователем СеМеН в личной переписке, пользователь проявил понимание. Премодерация снята.

И лично от меня +1 ))
volvo
Угу... Значит, "наехал" он публично на всех, а "проявил понимание" - приватно? Очень мило dry.gif
Lapp
Цитата(volvo @ 28.01.2010 19:41) *
Угу... Значит, "наехал" он публично на всех, а "проявил понимание" - приватно? Очень мило dry.gif
Да, я пошел ему навстречу. Я думаю, так будет лучше для всех. Увидим?

Впрочем, ничто не мешает ему принести извинения и тут, если он сочтет нужным.
CeMeH
Цитата(Lapp @ 28.01.2010 19:52) *

Впрочем, ничто не мешает ему принести извинения и тут, если он сочтет нужным.


Да верно, конечно же, к чему лишние сомнения...

*****************ПУБЛИЧНО!!!*********************

Приношу ВСЕМ, к кому проявил грубое отношение, искренние извинения... give_rose.gif и сожалею о случившемся... Я всего лишь человек, и как любому человеку свойственно ошибаться, - я ошибся... Ошибся в не "соответственном" диалоге с Вами, ув. форумчане... Андрей смог уделить мне время и объяснить сложившуюся ситуацию из кот. я думаю имеет СМЫСЛ сделать выводы, не только мне...

Взаимопонимание строится, в первую очередь, на должностном обращении к собеседникам обеих сторон(т.е. проявление уважения не только со стороны нуждающегося, но и со стороны помогающего...) И как бы Вы не хотели, Владимир, без этого... человеческого разговора просто не получится... Подумайте... И не нужно высокомерия... Это не к чему!!! Великолепная, на мой взгляд, народная мудрость гласит, что "все живое имеет начало и конец... следовательно, непобедимых нет, любой может победить любого, но не всякий может стать лучшим..." и, наверное, имеет место не просто станет, а то как он этого достигнет!!!
Ах да... и не забывайте, что "не следует относится к другим так, как не хотели бы чтоб отнеслись к Вам..."

Владимир, именно это и обсуждалось приватно... Вы это хотели услышать?

Если имеется желание обсудить... я не против ответить на ваши вопросы...

Наверное так же добавлю, что не нужно забывать и то, что "любое поражение делает сильнее", а поражение из которого извлекаются ошибки, наверное, еще сильнее... а признание этих ошибок - "непобедимым"... К примеру, немножко по глобальней... Не каждый способен признать, что был не прав в критической ситуации, потому, что просто сработает инстинкт самосохранения, кот. обычно преобладает над правдой... Просто так и есть... Боягузы всегда молчат и не преодолевают ступень преграды; ими владеет чувство страха... И можно сравнить, если я не ошибаюсь абсолютный идеализм Гегеля с поведением питбуля(для пита не свойственно страх, т.е. боятся)... Пит всегда стремится быть победителем в своей игре, при этом ТОЛЬКО среди себе подобных(это так называемая "интеллигенция", кот. позволяет ему различать реакцию на угрозу, поэтому то пит "не тронет" меньшего, слабшего...) У Гегеля были принципы те же... Сильный волей и справедливый человек! и в тоже время он говорил "жалость унижает",... у питов - нет жалости... у них жажда победы любой ценой, даже ценой жизни, когда ЖЕЛАНИЕ "ВЫИГРАТЬ" ПРЕОБЛАДАЕТ НАД ИНСТИНКТОМ ВЫЖИТЬ... В этом... идеалы Гегеля сходятся... Та что там Гегель.... Гитлер тоже пытался - раса Арийцев... ну эт я увекся... прошу прощения...
Это я к тому, что признание, в первую очередь, себе, это реальное понимание обстановки, и реакция на эту обстановку обусловлена факторами степени признания...


С Уважением! give_rose.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.