|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.05.2009, 19:07 | #1 |
Регистрация: 27.04.2009
Сообщений: 5
|
Длинная арифметика.Связанные списки
Остались две задачи никак не могу решить...Можно либо на си, либо на паскале...
1)Составить программу для вычисления точного значения суммы первых n членов последовательности чисел, кратных данному натуральному числу k (n > MaxInt(32767)). 2)Многочлен Р(x) = аn·х^n + аn-1·х^(n-1) + ... + а1·х + a0 с целыми коэффициентами можно представить в виде списка, причем если at = 0, то соответствующее звено не включа- ется в список. P -> [n|An]-> [n-1|An-1]-> ...-> [1|A1]-> [0|Ao]-> nil Ниже показано представление многочлена S(x) = 52х^40 - 3х^8 + x. S -> [40|52] -> [8|-3] -> [1|1] -> nil Описать на языке Паскаль тип данных, соответствующий та- кому представлению многочленов, и определить следующие процедуры и функции для работы с этими списками-много- членами: 15.2 Функцию Znach(P, x), вычисляющую значение многочлена Р в целочисленной точке x. Пожалуйста помогите...Заранее большое спаибо
Все фантазии порождаются страхами
|
25.05.2009, 19:09 | #2 |
Регистрация: 27.04.2009
Сообщений: 5
|
#include<iostream.h>
#include<stdlib.h> #include<conio.h> #include<stdio.h> struct mnogochlen { int k;//коэффициент int step;//степень struct mnogoghlen*next;//указатель на следующий элемент }; /*cell Znach(cell*r,int x) { int i,k=1,n,z; for(i=n;i<0;i--){ z=r.A*k+z; k=k*x; }}*/ //функция явно неправильная(((// /*функция ввода элементов*/ struct mnogochlen*input(void) { int m=0,n,i; struct cell*p; p=(struct cell*)malloc(sizeof(struct cell)); printf("Введите количество элементов");scanf("%d",&n); if(m<=100){ printf("Введите степень"); scanf("%d",&p->step); printf("Введите коэффициент"); scanf("%d",&p->k); if(p->k= =0)//если коэффициент равен нулю, то он должен не включаться в список { free(p); return NULL; } if((p->k= =0)&&(p->step= =0)) //если и коэффициент и степень 0,то прекращается ввод { free(p); break; } m++; } p->pc=input(); return p; } /*функция вывода*/ void output(struct mnogochlen*p) { if(p= =NULL) { printf("\nСписок исчерпан"); return; } printf("\nstepen=%d\tkoev=%d",p->step,p->k); output(p->pc); } int main() { struct cell*beg=NULL; printf("Введите значение структур\n"); beg=input(); printf("Содержимое списка:\n"); output(beg); getch(); }
Все фантазии порождаются страхами
|
25.05.2009, 19:10 | #3 |
Регистрация: 27.04.2009
Сообщений: 5
|
Помогите пожалуйста...Я никак не могу додуматься как это сделать,если не трудно объясните
Все фантазии порождаются страхами
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связанные списки в C++ | Rembo | Общие вопросы C/C++ | 47 | 11.07.2016 12:45 |
Длинная арифметика: деление | Vadik(R) | Помощь студентам | 1 | 27.03.2009 12:08 |
Длинная арифметика (Нахождение квадратного корня) | 08ekhiv1 | Помощь студентам | 6 | 06.03.2009 15:48 |
Длинная арифметика (нужна помощь) | RAVAL)) | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 25.10.2008 15:13 |
Длинная арифметика | DmT | Помощь студентам | 2 | 06.10.2007 22:43 |