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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2018, 17:25   #1
Illtry
Пользователь
 
Регистрация: 09.02.2018
Сообщений: 22
По умолчанию Не ясна суть задания

Delphi 7
Матрица Сильвестра. Даны два многочлена: A(x)= a0+a1x+a2x^2+...anx^n и B(x)=b0+b1x+b2x^2+b3x^3+...bmx^m. Построить матрицу для заданных многочленов А(x), B(x) и убедиться в том, что ее определитель совпадает с результантом многочленов.
В учебниках и интернете нахожу только рандомное заполнение матрицы. Допустим, я сделаю ввод с клавиатуры a(i) и b(i), тогда получу многочлены с определенными числовыми коэффициентами, но как из этого матрицу построить потом?
Illtry вне форума Ответить с цитированием
Старый 09.02.2018, 17:52   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
В учебниках и интернете нахожу только рандомное заполнение матрицы.
У меня опять какой-то другой инет. Первая ссылка в гугле ведет на рувики, где нет никакого рандома.
https://ru.wikipedia.org/wiki/%D0%9C...82%D1%80%D0%B0
p51x вне форума Ответить с цитированием
Старый 09.02.2018, 19:18   #3
Illtry
Пользователь
 
Регистрация: 09.02.2018
Сообщений: 22
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
У меня опять какой-то другой инет. Первая ссылка в гугле ведет на рувики, где нет никакого рандома.
Я говорю не о математическом значении и не о понятии матрицы Сильвестра. Можете подсказать ресурс, в котором можно будет найти хотя бы что-то близкое к заполнению матрицы для заданного многочлена?
Illtry вне форума Ответить с цитированием
Старый 09.02.2018, 20:22   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

А какой вам ресурсы нужен? Там же просто несколько циклов на каждый многочлен. Типа для первого:
Код:
для и с 0 до м делать
 для к с 0 до и s[k] = 0
 для к с и до и+н s[k] = a[н-и-к]
 для к с и+н до н+м s[k] = 0
p51x вне форума Ответить с цитированием
Старый 09.02.2018, 20:45   #5
Illtry
Пользователь
 
Регистрация: 09.02.2018
Сообщений: 22
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А какой вам ресурсы нужен? Там же просто несколько циклов на каждый многочлен. Типа для первого:
Код:
для и с 0 до м делать
 для к с 0 до и s[k] = 0
 для к с и до и+н s[k] = a[н-и-к]
 для к с и+н до н+м s[k] = 0
Мне подойдет статический массив? Или не важно?
Illtry вне форума Ответить с цитированием
Старый 09.02.2018, 21:12   #6
Illtry
Пользователь
 
Регистрация: 09.02.2018
Сообщений: 22
По умолчанию

Вы написали: a[н-и-к]. Что это строка? Точнее, что значит тире между н, и, к.
Illtry вне форума Ответить с цитированием
Старый 09.02.2018, 22:06   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Цитата:
Мне подойдет статический массив?
Если n и m вам заданы по заданию сразу, а не вводятся, то подойдет. Очевидно же.

Цитата:
Мне подойдет статический массив?
Обычно разность проходят в младшей школе...
p51x вне форума Ответить с цитированием
Старый 09.02.2018, 22:41   #8
Illtry
Пользователь
 
Регистрация: 09.02.2018
Сообщений: 22
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Если n и m вам заданы по заданию сразу, а не вводятся, то подойдет. Очевидно же.


Обычно разность проходят в младшей школе...
Спасибо, и извините за глупые вопросы.
Illtry вне форума Ответить с цитированием
Старый 15.02.2018, 19:34   #9
Illtry
Пользователь
 
Регистрация: 09.02.2018
Сообщений: 22
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Обычно разность проходят в младшей школе...
Здравствуйте. Позволите ещё немного Вас попытать? Вот код:

uses
SysUtils;

var
i, n, m, j: integer ;
A, B: array of integer;
S: array of array of integer;

begin
write('n=');
readln(n);
setlength(a,n);
write('m=');
readln(m);
setlength(b,m);
for i:=0 to n do
readln(a[i]);
for i:=0 to m do
readln(b[i]);
SetLength(S, m+n, n+m);

for i:=1 to n+m do
begin
if i in[1..m] then
begin
for j:=1 to n+m do
begin
if j in[i..n+i] then s[i,j]:=a[n-j+i] else s[i,j]:=0;
write(s[i,j]:4);
end;
end
else if i in[m+1..m+n] then
begin
for j:=1 to n+m do
begin
if j in [i-m..i] then s[i,j]:=b[i-j] else s[i,j]:=0;
write(s[i,j]:4);
end;
end;
writeln;
end;
readln;

end.

Изначально нет ни ошибок, ни предупреждений, но когда программа делает всё, что нужно, высвечивается несколько строк ошибки и консоль резко закрывается. Почему так? В чём проблема?
Illtry вне форума Ответить с цитированием
Старый 15.02.2018, 20:25   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Начните с того, что динамические массивы нумеруются с 0.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решения задания №1 и задания №2 выполнить в одном файле-проекте С++ bittspower Помощь студентам 1 26.11.2017 21:21
Не ясна суть ошибки qip2005 PHP 2 19.02.2013 05:04
Суть етого ERRORа DrBAXA Общие вопросы Delphi 1 02.01.2013 22:26
Непонятна суть задания, мб кто поймет Calv Общие вопросы C/C++ 2 10.11.2011 09:39
Вопрос про setcookie, не ясна причина ошибки. LuckyC0de PHP 1 14.12.2009 18:24