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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2013, 12:46   #1
vasektemuprosek
PascalMadSkills
Пользователь
 
Регистрация: 19.12.2012
Сообщений: 14
Восклицание Сложение, умножение, НОД многочленов

Вводим с клавиатуры максимальную степень обеих многочленов, затем вводим коэффициенты для каждой степени. В ответе должен быть вывод типа 10x^3+9x^2+11x и т.п. Нужно 3 программы для каждого действия (+ * НОД).
vasektemuprosek вне форума Ответить с цитированием
Старый 06.01.2013, 15:17   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Vasek, Вы кажется тему не просекли.. Никто не будет за Вас что-либо решать.. Где приветствие? Где просьба о помощи, а не голое задание? Где Ваши наработки? Где хотя бы не правдивое объяснение, что препод зараза ничего не объясняет?
Poma][a вне форума Ответить с цитированием
Старый 06.01.2013, 15:59   #3
vasektemuprosek
PascalMadSkills
Пользователь
 
Регистрация: 19.12.2012
Сообщений: 14
По умолчанию

Я вас категорически приветствую. Я прошу у вас помощи, великодушные обитатели данного форума. Нам дали задание, а как делать - это уже наша проблема. Наработок нет, т.к. мы делали в универе, файлы остались на каком то из множества компьютеров, где именно не помню. Суть задания: надо сложить/умножить/найти НОД двух многочленов. Мы вводим максимальную степень одного из них, например 6. Затем вводим коэффициенты, т.е. числа, стоящие перед каждым из X. Повторяем для второго числа. В итоге должны получить ответ в виде многочлена, например 6x^3 + 5x^2 + 10x. Попробую найти хоть что-нибудь и напишу в теме.
vasektemuprosek вне форума Ответить с цитированием
Старый 06.01.2013, 16:15   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Сложение - в легкую..
Умножение - тяжелее
НОД у многочлена - без понятия..
Щас накатаем..
Код:
var
        a, b : array [1..100] of Integer;
        i, n : Integer;


begin
        ReadLn (n);

        for i := 1 to n do
                Read (a[i]);

        for i := 1 to n do
                Read (b[i]);
        
        // сложение
        if a[1] + b[1] <> 0 then
                Write (a[i]+b[i], 'x^', n);

        for i := 2 to n-1 do
                if a[i]+b[i] <> 0 then // не очень хорошо что два раза щитаем сумму, можно запомнить в переменной t, но лишняя строка да и на спичках не экономят
                        Write ('+', a[i]+b[i], 'x^', n-i+1);

        if a[n]+b[n] <> 0 then
                Write ('+', a[n]+b[n], 'x')
        
        // умножение
        if a[1] * b[1] <> 0 then
                Write (a[i]*b[i], 'x^', n*n);
        
        for i := 2 to n-1 do
                if a[i]*b[i] <> 0 then 
                        Write ('+', a[i]*b[i], 'x^', Sqr(n-i+1));

        if a[n]*b[n] <> 0 then
                Write ('+', a[n]*b[n], 'x^2')

end.

Последний раз редактировалось Poma][a; 06.01.2013 в 17:56.
Poma][a вне форума Ответить с цитированием
Старый 06.01.2013, 17:36   #5
vasektemuprosek
PascalMadSkills
Пользователь
 
Регистрация: 19.12.2012
Сообщений: 14
По умолчанию

Во спасибо. Немного видоизменю, чтоб понятно было. Вот прога сложения многочленов:
PHP код:
var
a: array [1..100of integer;
iinteger;
begin
write
('Vvedite stepen mnogochlenov: ');
readln (n);
write('Vvedite koefficienti 1 mnogochlena: ');
for 
:= 1 to n do read (a[i]);
write('Vvedite koefficienti 2 mnogochlena: ');
for 
:= 1 to n do read (b[i]);
write('Rezultat slojeniya: ');
if 
a[1] + b[1] <> 0 then write (a[i]+b[i], 'x^'n);
for 
:= 2 to n-do
if 
a[i]+b[i] <> 0 then write ('+'a[i]+b[i], 'x^'n-i+1);
if 
a[n]+b[n] <> 0 then writeln ('+'a[n]+b[n], 'x')
end
vasektemuprosek вне форума Ответить с цитированием
Старый 06.01.2013, 17:44   #6
vasektemuprosek
PascalMadSkills
Пользователь
 
Регистрация: 19.12.2012
Сообщений: 14
По умолчанию

А вот умножение не работает =( Попробую починить
vasektemuprosek вне форума Ответить с цитированием
Старый 06.01.2013, 17:46   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
А вот умножение не работает =( Попробую починить
А вот такие заявы лучше с контр примером
Poma][a вне форума Ответить с цитированием
Старый 06.01.2013, 17:53   #8
vasektemuprosek
PascalMadSkills
Пользователь
 
Регистрация: 19.12.2012
Сообщений: 14
По умолчанию

Вот умножение:
PHP код:
var
a: array [1..100of integer;
iinteger;
begin
write
('Vvedite stepen mnogochlenov: ');
readln (n);
write('Vvedite koefficienti 1 mnogochlena: ');
for 
:= 1 to n do read (a[i]);
write('Vvedite koefficienti 2 mnogochlena: ');
for 
:= 1 to n do read (b[i]);
write('Rezultat umnojeniya: ');
if 
a[1]*b[1] <> 0 then write (a[1]*b[1], 'x^'n);
for 
:= 2 to n-do
if 
a[i]*b[i] <> 0 then write ('+'a[i]*b[i], 'x^'n-i+1);
if 
a[n]*b[n] <> 0 then write ('+'a[n]*b[n], 'x')
end
vasektemuprosek вне форума Ответить с цитированием
Старый 06.01.2013, 17:56   #9
vasektemuprosek
PascalMadSkills
Пользователь
 
Регистрация: 19.12.2012
Сообщений: 14
По умолчанию

Вот пример работы твоей проги:

Сложение правильно, в умножении ересь. Там степени умножало. Чуть-чуть исправить и все ок. Спасибо огромное!
vasektemuprosek вне форума Ответить с цитированием
Старый 06.01.2013, 17:57   #10
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Да, я забыл в одном месте подправить + на *..
Но у Вас, кажется, ошибка!
Ведь при умножении x на x Ваша программа выдаст x. А надо x^2..
Так что степени у меня правильно умножало..
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
умножение многочленов, реализация списками Neitrosha Помощь студентам 0 26.03.2011 15:57
[Tasm]Сложение/Умножение длинных чисел falcon92 Помощь студентам 0 17.11.2010 15:34
Сложение и умножение korzunmaria Помощь студентам 3 20.05.2010 20:07
Сложение и умножение korzunmaria Паскаль, Turbo Pascal, PascalABC.NET 3 20.05.2010 19:01
Сложение, вычитание, деление, умножение в Turbo Debugger GaJIbI4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 08.03.2010 15:23