• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Рекурсивная Обработка Списков

Seriy1994

New member
15.01.2013
0
0
#1
Помогите пожалуйста!! Дано задание :

Многочлен P(x)=anxn+an-1xn-1+…+a0 с целыми коэффициентами представьте в виде списка, причем, если ai=0, то соответствующее звено в список не включается. Описать процедуру Dif (P,Q), которая строит многочлен P - производную многочлена Q.

И код к нему:
C++:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"

struct ololo{
int A;
int stepenX;
ololo* next;
};
ololo* head=NULL;
ololo* AddNew(int a,int stepenx, ololo* head)
{
ololo* Nhead=NULL;
if(head==NULL){
head=new ololo;
head->A=a;
head->stepenX=stepenx;
head->next=NULL;
Nhead=head;
}else{
Nhead=new ololo;
Nhead->A=a;
Nhead->stepenX=stepenx;
Nhead->next=head;	
}
return Nhead;
}
void PrintOch(ololo* head)
{
ololo* cpyh=head;
bool Frst=false;
while(cpyh!=NULL){
if(cpyh->A>0 && Frst==true)printf("+");
printf("%d",cpyh->A);
printf("*X(%d)",cpyh->stepenX);
cpyh=cpyh->next;
Frst=true;
}
printf("\n");
}
ololo* dif(ololo* headP)
{
ololo* cpyh=headP;
ololo* cpyq=NULL;
int znm=0;
int d=0,f=0;
do{
d=cpyh->stepenX;
znm=cpyh->A;
znm=znm*d;
f=cpyh->stepenX-1;
cpyq=AddNew(znm,f,cpyq);
cpyh=cpyh->next;
}while(cpyh!=NULL);
return cpyq;
}
int _tmain(int argc, _TCHAR* argv[])
{
int z=0;
printf("Введите длину многочлена ");
scanf("%d",&z);
printf("Введите %d коэффиценты:\n",z);
int* massA=new int [z];
for(int i=0;i<z;i++){
printf("A %d = ",i+1);
scanf("%d",&massA[i]);
} 
for(int i=0;i<z;i++){
if(massA[i]!=0){
head=AddNew(massA[i],i+1,head);
}
}	
delete[] massA;
PrintOch(head);
ololo* headQ=NULL;
headQ=dif(head);
PrintOch(headQ);
getch();
return 0;
}
Нужно переделать на такое задание:

Многочлен P(x)=anxn+an-1xn-1+…+a0 с целыми коэффициентами представьте в виде списка, причем, если ai=0, то соответствующее звено в список не включается. Описать процедуру Absol(P,Q), которая строит многочлен P – из модулей коэффициентов многочлена Q.
 
R

rrrFer

#2
5. Ну а те, кто не хочет что-то делать самостоятельно, должны понимать, что работа людей стоит денег. Даже самая мелкая. А потому, если вы готовы платить за решение своей проблемы, то так же указывайте это в своей теме. Что-то в духе: Нужно решить такую-то задачу. Оплата.
 
Вверх Снизу