![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Bo2nik |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: Никита Репутация: ![]() ![]() ![]() |
Умножение многочленов. Проблема такая: не могу задать степень второго многочлена и вообщем то реализовать сам алгоритм перемножения. Может кто-нибудь кинет идею.
Код #include "stdafx.h" #include <stdio.h> struct list { int inf1,inf2; // коэфициенты int st1,st2; // степени struct list *ref1,*ref2; }; main() { FILE *fp,*fp2; struct list *p1,*p2,*beg1 = NULL,*beg2 = NULL,*end1 = NULL,*end2 = NULL; fp = fopen ("spisok.txt","r"); fp2= fopen ("spisok2.txt","r"); printf("MNOGOCHLENI\n"); int i,k; i = -1; // степень первого многочлена k = -1; //степень второго многочлена while ( !feof(fp) && !feof(fp2) ) { p1 = p2 = (struct list*)malloc(sizeof(struct list)); fscanf (fp,"%d",&p1->inf1); fscanf (fp2,"%d",&p2->inf2); i++; //увеличиваем степень первого многочлена, степени идут с головы списка if (feof(fp) && feof(fp2)) { free(p1); free(p2); break; } end1 = p1; end2 = p2; end1->ref1 = end2->ref2 = NULL; while (p1!=NULL) // вывод на экран первого списка { p1->st1 = i; printf("k = %d, st = %d\n",p1->inf1,p1->st1); p1=p1->ref1; } while (p2!=NULL) // вывод на экран второго списка { printf("k2 = %d\n",p2->inf2); p2=p2->ref2; } } } Вот набрасал алгоритм: 1) Начинаем обходить 1ый список 2) Считываем степень 3) Перемножаем элементы 1-го списка с элем. 2-го списка, если степени равны 4) Если степени не равны, то (?????????) - тута че-то не доходит 5) Результат записываем в третий список. Сообщение отредактировано: Bo2nik - 9.04.2008 18:46 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата прога не будет работать Опять не разобрался... Будет она работать, просто перемножать будет столько элементов, сколько есть в более коротком многочлене. Для этого и условие:while(p && p2) ... |
Bo2nik |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Реальное имя: Никита Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 16.08.2025 13:41 |