9 / 9 / 1
Регистрация: 23.03.2010
Сообщений: 57
1

Привести подобные члены в многочлене и вывести многочлен по уменьшению степени х

20.09.2010, 20:48. Показов 2357. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с задачей(по теме:динамические переменные):
В многочлене произвольной степени с целыми коэффициентами от переменной x одночлены одной и той же степени могут повторться, причем они могут быть не упорядочными по степеням х. Необходимо привести подобные члены в этом многочлене и вывести этот многочлен по уменьшению степени х

И еще 1 задачка может кто сможет помочь (решить надо через функции процедур и модули на сколько я понял( должно выполняться программа ссылающая на еще 1 программу могу ошибаться):
Составить функцию для нахождения точного значения суммы натуральных чисел, в десятичной записи которых более 20 знаков.

Помогите кто чем и как может буду благодарен!!! Заранее спасибо тем кто хатябы посмотрит!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2010, 20:48
Ответы с готовыми решениями:

Дан многочлен:4A + 7D - 3A + 8A - 2R + 10R - 2D найти подобные члены для переменной А и вычислить
Помогите, плиз решить: Дан многочлен:4A + 7D - 3A + 8A - 2R + 10R - 2D найти подобные члены для...

Даны действительное число a,многочлен P(x) степени n.Получить многочлен
Даны действительное число a,многочлен P(x) степени n.Получить многочлен (x^2+a^2)P(x) ...

Даны действительное число a, многочлен P(x) степени n. Получить многочлен (x^2+a^2)P(x)
Даны действительное число a, многочлен P(x) степени n. Получить многочлен (x^2+a^2)P(x) нужна...

Свести подобные члены ко всем буквам многочлена и вывести упрощенный многочлен на экран
Дано многочлен 4a+7b-3a+8e-2d+1c-5d-2b. Программа должна сводить подобные члены ко всем буквам...

9
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
20.09.2010, 21:36 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

2.
Текст модуля.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
unit Summa;
interface
procedure Vvod(var s:string;c:char);{ввод чисел до 255 знаков}
procedure Norm(var s1,s2,buf1:string);{приведение к равной длине}
function Summ(s1,s2,buf1:string):string;{собственно сложение}
implementation
procedure Vvod;
var i,k:byte;
begin
repeat
k:=0;
writeln('Введите число ',c);
readln(s);
for i:=1 to length(s) do
if not(s[i] in ['0'..'9']) then k:=1;
if k=1 then writeln('Число введено неверно, повторите ввод.');
until k=0;
end;
procedure Norm;
begin
buf1:='';
if length(s1) > length(s2) then
    begin
      Buf1:=Copy(s1,1,length(s1)-length(s2));
      Delete(s1,1,length(s1)-length(s2));
    end
else if length(s1) < length(s2) then
    begin
      Buf1:=Copy(s2,1,length(s2)-length(s1));
      Delete(s2,1,length(s2)-length(s1));
    end;
end;
function Summ;
var rez,xs:string;
    i,x,y,Buf2:integer;
begin
rez:=''; buf2:=0;
for i:=length(s1) downto 1 do
    begin
      Val(s1[i],x,x);
      Val(s2[i],y,y);
      x:=x+y+Buf2;
      Buf2:=0;
      if x div 10 <> 0 then
         begin
           x:=x mod 10;
           Buf2:=1;
         end;
      Str(x,xs);
      Rez:=xs+Rez;
    end;
if Buf2 <> 0 then
    begin
      Val(buf1[length(buf1)],x,x);
      Delete(Buf1,Length(buf1)-1,1);
      x:=x+Buf2;
      Str(x,xs);
      Rez:=xs+rez;
    end;
Rez:=Buf1+Rez;
Summ:=Rez;
end;
end.
Текст программы.

Pascal
1
2
3
4
5
6
7
8
9
10
11
uses crt,summa;
var a,b,c,bf:string;
begin
clrscr;
Vvod(a,'a');
Vvod(b,'b');
Norm(a,b,bf);
c:=Summ(a,b,bf);
writeln('c=',c);
readln
end.
1
9 / 9 / 1
Регистрация: 23.03.2010
Сообщений: 57
20.09.2010, 21:46  [ТС] 3
помогите еще с 1 задачей пожалуйста
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
20.09.2010, 22:13 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

1.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
uses crt;
{пользовательский тип}
type
  isType=^isList;
  isList=record
    x,y:integer;
    z:isType;
    end;
{преременные основной программы}
var
  a:isType;
{вывод одного элемента}
procedure showOne(x,y:integer);
  begin
    write(x);{}
    if y<>0 then write('*X^',y);{}
  end;
{сортируем по убыванию степеней}
procedure sortPolinom(var c:isType);
  var
    d,e:isType;
  begin
    d:=c;
    while d^.z<>nil do
      begin
        while (d^.y>d^.z^.y)and(d^.z<>nil)do d:=d^.z;
        if d^.z<>nil then
          begin
            e:=d^.z;
            d^.z:=d^.z^.z;
            e^.z:=c;
            c:=e;
            d:=c;
          end;
      end;
  end;
{вводим полином}
procedure inputPolinom(var c:isType);
  var
    d:isType;
    e,f:integer;
  begin
    c:=nil;
    writeln('Вводите коэффициенты и степени, целые числа, окончание 2 ноля');
    repeat
      write('коэффициент:');{показатель и степень}
      readln(e);
      write('степень:');
      readln(f);
      if(e=0)and(f=0)then break;
      {ищем в списке введенную степень}
      d:=c;
      while (d^.y<>f)and(d<>nil) do d:=d^.z;
      if d=nil then
        begin{нет, содаем элемент и включаем его в список}
          new(d);
          d^.x:=e;
          d^.y:=f;
          d^.z:=c;
          c:=d;
        end else inc(d^.x,e);
    until false;
    sortPolinom(c);
  end;
{освобождаем занимаемую память}
procedure freePolinom(var c:isType);
  var
    d:isType;
  begin
    while c<>nil do
      begin
        d:=c;
        c:=c^.z;
        dispose(d);{освобождаем}
      end;
  end;
{выводим полином на экран}
procedure showPolinom(c:isType);
  begin
    clrscr;
    while c<>nil do{пока не выведем весь список}
      begin
        showOne(c^.x,c^.y);
        c:=c^.z;{следующий элемент}
        if c<>nil then write(' + ');{если не достигли предела выводим знак}
      end;
    writeln;
  end;
begin
  clrscr;
  {вводим полином}
  inputPolinom(a);
  {выводим полином}
  showPolinom(a);
  {освобождаем память}
  freePolinom(a);
  readln;
end.
1
9 / 9 / 1
Регистрация: 23.03.2010
Сообщений: 57
20.09.2010, 23:28  [ТС] 5
Подскажите а как запускать 2 задачу что то не оч получаеться((

Добавлено через 16 минут
и в 1 задаче пупорев подскажите пожалуйста какие числа вводили вы что она работала что то я туплю( просто в паскале не очень понимаю скажите какой вы пример вводили
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
21.09.2010, 08:59 6
Saitan, Ну в первой все же написано!
Pascal
1
2
3
4
5
6
7
writeln('Вводите коэффициенты и степени, целые числа, окончание 2 ноля');
    repeat
      write('коэффициент:');{показатель и степень}
      readln(e);//например 2
      write('степень:');
      readln(f);//например 3
      if(e=0)and(f=0)then break;//если введем 0 0, конец ввода
Добавлено через 1 минуту
в паскале не очень
Это вы не в Паскале, а в математике ноль, полином в глаза не видели, и нефиг вам ликбез устраивать, берите учебники и читайте.

Добавлено через 2 минуты
Как запустить вторую, опять же берите учебник или в инет и читайте про модули в Паскале.
Нельзя же все спрашивать, я понимаю алгоритм, его не каждый придумает, но то что написано в учебниках, то что вы должны, просто обязаны знать по теме модули, извините.
0
9 / 9 / 1
Регистрация: 23.03.2010
Сообщений: 57
21.09.2010, 09:50  [ТС] 7
ну математику то я знаю но задача не хочет работать((((
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
21.09.2010, 09:52 8
но задача не хочет работать((((
Какая задача?
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
21.09.2010, 09:57 9
Вот задача с полиномом. На 1 изображении то что я ввел, на 2 результат.
Миниатюры
Привести подобные члены в многочлене и вывести многочлен по уменьшению степени х   Привести подобные члены в многочлене и вывести многочлен по уменьшению степени х  
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
21.09.2010, 10:04 10
Вот тебе готовая программа с модулем, так и живи в неведении, как это делается.
Вложения
Тип файла: rar Модуль.rar (5.0 Кб, 23 просмотров)
0
21.09.2010, 10:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2010, 10:04
Помогаю со студенческими работами здесь

Даны действительное число а, многочлен степени n. Получить многочлен (x^2+2ax+3)*P(x)
Даны действительное число а, многочлен степени n. Получить многочлен (x^2+2ax+3)*P(x). :help: ...

Привести подобные
есть уравнение 10y+40-10x+10=0 Скажите как его привести к типу 1y-1x+1=0 если не сложно то...

Дан многочлен P(x) степени n. Получить многочлен P(x)·P′(x), где P′(x)— это производная многочлена P(x)
Дан многочлен P(x) степени n. Получить многочлен P(x)·P′(x), где P′(x)— это производная...

Вывести на экран таблицу значений функции f(x)=x в 4 степени+3х в 3 степени +5х во второй степени+7 х=1,2..10
18. Вывести на экран таблицу значений функции f(x)=x в 4 степени+3х в 3 степени +5х во второй...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru