Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Deirdre
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 14
#1

Деление полиномов - C++

20.05.2009, 20:38. Просмотров 1592. Ответов 5
Метки нет (Все метки)

Не компилируется)
#include<math.h>
#include<stdio.h>
#include<alloc.h>
#include<conio.h>
#include<stdlib.h>

void main(void)

{
textbackground(6);
textcolor(RED);
clrscr();
int v,m,n,i,j;
C4:
clrscr();
printf("\n\n\n\n\n ЙННННННННННННННННННННННННННННННННННННННННННННН»");
printf("\n є ‚лЎҐаҐвҐ ®¤Ё* Ё§ ў*аЁ**в®ў: є");
printf("\n є є");
printf("\n є 1- ‚®©вЁ ў Їа®Ја*¬¬г є");
printf("\n є є");
printf("\n є 2- Џ®¬®йм є");
printf("\n є є");
printf("\n є 3- ?*д®а¬*жЁп ®Ў *ўв®аҐ є");
printf("\n є є");
printf("\n є 4- ‚л室 є");
printf("\n є є");
printf("\n ИНННННННННННННННННННННННННННННННННННННННННННННј\n");
scanf("%d",&v);
switch(v)
{
case 1:goto C1;
break;
case 2:clrscr();
printf("\n\n\n\n\n");
printf(" HELP:\n\f\f\f „**® ¤ў* ¬*®Ј®з«Ґ**: ¤Ґ«Ё¬®Ґ A(x) Ё ¤Ґ«ЁвҐ«м B(x).");
printf("\n Џа®Ја*¬¬* ўлзЁб«пҐв Є®нддЁжЁҐ*вл з*бв*®Ј® Ё ®бв*вЄ*.");
printf("\n ЏаЁ ўў®¤Ґ Є®нддЁжЁҐ*в®ў *г¦*® гзЁвлў*вм, ");
printf("\n зв® A[i], B[i] - Є®нддЁжЁҐ*вл ЇаЁ n-®© б⥯Ґ*Ё x.");
getch();
goto C4;
case 3: clrscr();
printf("\n\n\n\n\n\n\n Ђўв®а нв®© Їа®Ја*¬¬л - бв㤥*в");
printf("\n „*ҐЇа®ЇҐва®ўбЄ®Ј® **жЁ®**«м*®Ј® г*ЁўҐабЁвҐв*");
printf("\n д-в* ЏаЁЄ«*¤*®© ¬*⥬*вЁЄЁ ЈагЇЇл ЏK-03-1");
printf("\n ЃҐ§жҐ**л© Ђавс¬ Ђ**⮫쥢Ёз" );
printf("\n ‚ᥠЇа*ў* §*йЁйҐ*л!");
printf("\n ЌҐ§*Є®**®Ґ Є®ЇЁа®ў**ЁҐ §*ЇаҐйҐ*®!");
getch();
goto C4;
case 4:
exit(0);

}

C1:

printf("\n Введите степень делимого A(n): ");
scanf("%d",&n);
printf(" Введите степень делителя B(n): ");
scanf("%d",&m);

if(m>n)
{
printf("ERROR!!!: Степень делимого не меньше степени делителя");
goto C1;
}
if((m==0)||(n==0))
{
printf("ERROR!!!: Степени n и m не равны нулю");
goto C1;
}
double *a,*b,*k;
a=(double*)calloc(n+1,sizeof(double));
C2:
for(i=0;i<=n;i++)
{
printf("\nВведите A(%d) коэффициент",i);
scanf("%lf",&a[i]);

if((i==n)&&(fabs(a[i])<=0.0001))
{
printf("ERROR!!!: Коэффициент при n-oй степени не равен нулю");
goto C2;
}
else;
}

b=(double*)calloc(n+1,sizeof(double));
C3:
for(i=0;i<=m;i++)
{
printf("\nВведите B(%d) коэффициент",i);
scanf("%lf",&b[i]);

if((i==m)&&(fabs(b[m])<=0.0001))
{
printf("ERROR!!!: Коэффициент при m-oй степени не равен нулю");
goto C3;
}
}


k=(double*)calloc(n-m,sizeof(double));

//--------------------------------Osnovnaya chast--------------------------------------

for (j=0;j<=(n-m);j++)
{
k[j]=a[n-j]/b[m];

for(i=0;i<=n;i++)
{
if(i>=(n-(m+j)))
a[i]=(a[i]-(b[i+j-(n-m)]*k[j]));
}
}


//----------------------------------Resultati--------------------------------------------
printf("\nЧАСТНОЕ:");
printf("\n");

for (i=0;i<=(n-m);i++)

{
if(i==(n-m))
printf("(%g)",k[i]);
else if(n-(m+i)==1)
printf("(%g)X + ",k[i]);
else
printf("(%g)X^%d + ",k[i],n-(m+i));
}

printf("\n");
printf("\nОСТАТОК:");
printf("\n");

for (i=n;i>=0;i--)

{
if(i==0)
printf("(%g)",a[i]);
else if (a[i]==0)
printf("");
else if(n-(m+i)==1)
printf("(%g)X + ",a[i]);
else
printf("(%g)X^%d + ",a[i],i);
}
int g;
C5:
printf("\nДля возврата в меню нажмите -- 1; для выхода -- 2.");
scanf("%d",&g);
if (g==1)
goto C4;
else if (g==2)
exit(0);
else goto C5;

}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2009, 20:38     Деление полиномов
Посмотрите здесь:

Деление полиномов - C++
Существует ли библиотека, позволяющая делить полином с параметрами на полином? к примеру ax^2+bx+1/x+1 Добавлено через 7 часов 40...

Деление многочленов(полиномов). доделать класс - C++
Суть задания - сделать класс-полином со основными арифметическими операциями между многочленами. Сложение, вычитание и умножение я сделал,...

Умножение полиномов - C++
Собсна задача определить класс полином перегрузить операторы, это я все сделал. Осталось умножение. И вот никак не получается. Просьба...

Класс полиномов - C++
Здравствуйте. Помогите, пожалуйста, понять, почему не работает код. Есть класс полиномов, реализовано сложение, умножение, вывод. Для...

Простой класс полиномов - C++
Есть методы для умножения, сложения и производной #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; ...

Программа упрощения полиномов - C++
Добрый день! Нуждаюсь в помощи или совете. Столкнулся со следующей задачей: на вход программы из текстового файла поступает выражение...

Степени и коэффициенты двух полиномов - C++
Заданы степени и коэффициенты двух полиномов. Выполните следующие действия: 1) выведите полиномы на печать; найдите разность двух...

Расшифровать слова методом полиномов - C++
здравствуйте. Требуется помощь в расшифровке слова методом полиномов. Метод полиномов основан на преобразовании ...

Написать программу: умножение полиномов - C++
Пусть полиномы вида (первая картинка полимон) заданы связанными списками своих коэффициентов (вторая картинка коэфиценты) . Написать...

Реализовать программу умножения полиномов - C++
Подскажите плиз! нада прогу сдавать а я разобраться немогу(, задали: &quot;Реализовать программу умножения полиномов&quot;, на языке С, подскажите...

Move семантика (класс полиномов) - C++
Доброго времени суток. Пишу простенький класс полиномов, в котором есть единственное приватное поле - это map. Вот думаю надо ли писать...

Сортировка списков (Умножение полиномов) - C++
Задача: Имеются 2 полинома (А и В). Они задаются, как массив коэффициентов при иксах. Нужно создать третий полином (С = А * В) и...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
20.05.2009, 20:46     Деление полиномов #2
Цитата Сообщение от Deirdre Посмотреть сообщение
#include<alloc.h>
Что это за инклюд. У меня не находит.

Цитата Сообщение от Deirdre Посмотреть сообщение
textbackground(6);
Компилятор ругается на это строчку
Цитата Сообщение от Deirdre Посмотреть сообщение
textcolor(RED);
И на неё.
Уверен что используешь существующие функции и есть ли они вообще

Добавлено через 2 минуты 36 секунд
У меня это работает. Компилил под плюсами
C++
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#include<math.h>
#include<stdio.h>
//#include<alloc.h>
#include<conio.h>
#include<stdlib.h>
 
void main(void)
 
{
//textbackground(6);
//textcolor(RED);
//clrscr();
int v,m,n,i,j;
C4:
//clrscr();
printf("\n\n\n\n\n ЙННННННННННННННННННННННННННННННННННННННННННННН»");
printf("\n є ‚лЎҐаҐвҐ ®¤Ё* Ё§ ў*аЁ**в®ў: є");
printf("\n є є");
printf("\n є 1- ‚®©вЁ ў Їа®Ја*¬¬г є");
printf("\n є є");
printf("\n є 2- Џ®¬®йм є");
printf("\n є є");
printf("\n є 3- ?*д®а¬*жЁп ®Ў *ўв®аҐ є");
printf("\n є є");
printf("\n є 4- ‚л室 є");
printf("\n є є");
printf("\n ИНННННННННННННННННННННННННННННННННННННННННННННј\n" );
scanf("%d",&v);
switch(v)
{
case 1:goto C1;
break;
case 2://clrscr();
printf("\n\n\n\n\n");
printf(" HELP:\n\f\f\f „**® ¤ў* ¬*®Ј®з«Ґ**: ¤Ґ«Ё¬®Ґ A(x) Ё ¤Ґ«ЁвҐ«м B(x).");
printf("\n Џа®Ја*¬¬* ўлзЁб«пҐв Є®нддЁжЁҐ*вл з*бв*®Ј® Ё ®бв*вЄ*.");
printf("\n ЏаЁ ўў®¤Ґ Є®нддЁжЁҐ*в®ў *г¦*® гзЁвлў*вм, ");
printf("\n зв® A[i], B[i] - Є®нддЁжЁҐ*вл ЇаЁ n-®© б⥯Ґ*Ё x.");
getch();
goto C4;
case 3: //clrscr();
printf("\n\n\n\n\n\n\n Ђўв®а нв®© Їа®Ја*¬¬л - бв㤥*в");
printf("\n „*ҐЇа®ЇҐва®ўбЄ®Ј® **жЁ®**«м*®Ј® г*ЁўҐабЁвҐв*");
printf("\n д-в* ЏаЁЄ«*¤*®© ¬*⥬*вЁЄЁ ЈагЇЇл ЏK-03-1");
printf("\n ЃҐ§жҐ**л© Ђавс¬ Ђ**⮫쥢Ёз" );
printf("\n ‚ᥠЇа*ў* §*йЁйҐ*л!");
printf("\n ЌҐ§*Є®**®Ґ Є®ЇЁа®ў**ЁҐ §*ЇаҐйҐ*®!");
getch();
goto C4;
case 4:
exit(0);
 
}
 
C1:
 
printf("\n Введите степень делимого A(n): ");
scanf("%d",&n);
printf(" Введите степень делителя B(n): ");
scanf("%d",&m);
 
if(m>n)
{
printf("ERROR!!!: Степень делимого не меньше степени делителя");
goto C1;
}
if((m==0)||(n==0))
{
printf("ERROR!!!: Степени n и m не равны нулю");
goto C1;
}
double *a,*b,*k;
a=(double*)calloc(n+1,sizeof(double));
C2:
for(i=0;i<=n;i++)
{
printf("\nВведите A(%d) коэффициент",i);
scanf("%lf",&a[i]);
 
if((i==n)&&(fabs(a[i])<=0.0001))
{
printf("ERROR!!!: Коэффициент при n-oй степени не равен нулю");
goto C2;
}
else;
}
 
b=(double*)calloc(n+1,sizeof(double));
C3:
for(i=0;i<=m;i++)
{
printf("\nВведите B(%d) коэффициент",i);
scanf("%lf",&b[i]);
 
if((i==m)&&(fabs(b[m])<=0.0001))
{
printf("ERROR!!!: Коэффициент при m-oй степени не равен нулю");
goto C3;
}
}
 
 
k=(double*)calloc(n-m,sizeof(double));
 
//--------------------------------Osnovnaya chast--------------------------------------
 
for (j=0;j<=(n-m);j++)
{
k[j]=a[n-j]/b[m];
 
for(i=0;i<=n;i++)
{
if(i>=(n-(m+j)))
a[i]=(a[i]-(b[i+j-(n-m)]*k[j]));
}
}
 
 
//----------------------------------Resultati--------------------------------------------
printf("\nЧАСТНОЕ:");
printf("\n");
 
for (i=0;i<=(n-m);i++)
 
{
if(i==(n-m))
printf("(%g)",k[i]);
else if(n-(m+i)==1)
printf("(%g)X + ",k[i]);
else
printf("(%g)X^%d + ",k[i],n-(m+i));
}
 
printf("\n");
printf("\nОСТАТОК:");
printf("\n");
 
for (i=n;i>=0;i--)
 
{
if(i==0)
printf("(%g)",a[i]);
else if (a[i]==0)
printf("");
else if(n-(m+i)==1)
printf("(%g)X + ",a[i]);
else
printf("(%g)X^%d + ",a[i],i);
}
int g;
C5:
printf("\nДля возврата в меню нажмите -- 1; для выхода -- 2.");
scanf("%d",&g);
if (g==1)
goto C4;
else if (g==2)
exit(0);
else goto C5;
 
}
Deirdre
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 14
20.05.2009, 20:52  [ТС]     Деление полиномов #3
#include<math.h>
#include<stdio.h>
//#include<alloc.h>
#include<conio.h>
#include<stdlib.h>

int main()

{
//textbackground(6);
//textcolor(RED);
//clrscr();
int v,m,n,i,j;
C4:
//clrscr();
printf("\n\n\n\n\n ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
printf("\n º ‚ë¡¥à¥â¥ ®¤¨* ¨§ ¢*à¨**⮢: º");
printf("\n º º");
printf("\n º 1- ‚®©â¨ ¢ ¯à®£à*¬¬ã º");
printf("\n º º");
printf("\n º 2- ®¬®éì º");
printf("\n º º");
printf("\n º 3- ˆ*ä®à¬*æ¨ï ®¡ *¢â®à¥ º");
printf("\n º º");
printf("\n º 4- ‚ë室 º");
printf("\n º º");
printf("\n ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n");
scanf("%d",&v);
switch(v)
{
case 1:goto C1;
break;
// case 2:clrscr();
printf("\n\n\n\n\n");
printf(" HELP:\n\f\f\f „**® ¤¢* ¬*®£®ç«¥**: ¤¥«¨¬®¥ A(x) ¨ ¤¥«¨â¥«ì B(x).");
printf("\n à®£à*¬¬* ¢ëç¨á«ï¥â ª®íää¨æ¨¥*âë ç*áâ*®£® ¨ ®áâ*âª*.");
printf("\n à¨ ¢¢®¤¥ ª®íää¨æ¨¥*⮢ *ã¦*® ãç¨âë¢*âì, ");
printf("\n çâ® A[i], B[i] - ª®íää¨æ¨¥*âë ¯à¨ n-®© á⥯¥*¨ x.");
getch();
goto C4;
// case 3: clrscr();
printf("\n\n\n\n\n\n\n ?¢â®à í⮩ ¯à®£à*¬¬ë - áâ㤥*â");
printf("\n „*¥¯à®¯¥â஢᪮£® **樮**«ì*®£® ã*¨¢¥àá¨â¥â*");
printf("\n ä-â* à¨ª«*¤*®© ¬*⥬*⨪¨ £àã¯¯ë K-03-1");
printf("\n ¥§æ¥**ë© ?àâñ¬ ?**⮫쥢¨ç" );
printf("\n ‚ᥠ¯à*¢* §*é¨é¥*ë!");
printf("\n ¥§*ª®**®¥ ª®¯¨à®¢**¨¥ §*¯à¥é¥*®!");
getch();
goto C4;
case 4:
exit(0);

}

C1:

printf("\n Ââåäèòå ñòåïåíü äåëèìîãî A(n): ");
scanf("%d",&n);
printf(" Ââåäèòå ñòåïåíü äåëèòåëÿ B(n): ");
scanf("%d",&m);

if(m>n)
{
printf("ERROR!!!: Ñòåïåíü äåëèìîãî íå ìåíüøå ñòåïåíè äåëèòåëÿ");
goto C1;
}
if((m==0)||(n==0))
{
printf("ERROR!!!: Ñòåïåíè n è m íå ðàâíû íóëþ");
goto C1;
}
double *a,*b,*k;
a=(double*)calloc(n+1,sizeof(double));
C2:
for(i=0;i<=n;i++)
{
printf("\nÂâåäèòå A(%d) êîýôôèöèåíò",i);
scanf("%lf",&a[i]);

if((i==n)&&(fabs(a[i])<=0.0001))
{
printf("ERROR!!!: Êîýôôèöèåíò ïðè n-oé ñòåïåíè íå ðàâåí íóëþ");
goto C2;
}
else;
}

b=(double*)calloc(n+1,sizeof(double));
C3:
for(i=0;i<=m;i++)
{
printf("\nÂâåäèòå B(%d) êîýôôèöèåíò",i);
scanf("%lf",&b[i]);

if((i==m)&&(fabs(b[m])<=0.0001))
{
printf("ERROR!!!: Êîýôôèöèåíò ïðè m-oé ñòåïåíè íå ðàâåí íóëþ");
goto C3;
}
}


k=(double*)calloc(n-m,sizeof(double));

//--------------------------------Osnovnaya chast--------------------------------------

for (j=0;j<=(n-m);j++)
{
k[j]=a[n-j]/b[m];

for(i=0;i<=n;i++)
{
if(i>=(n-(m+j)))
a[i]=(a[i]-(b[i+j-(n-m)]*k[j]));
}
}


//----------------------------------Resultati--------------------------------------------
printf("\n×ÀÑÒÍÎÅ:");
printf("\n");

for (i=0;i<=(n-m);i++)

{
if(i==(n-m))
printf("(%g)",k[i]);
else if(n-(m+i)==1)
printf("(%g)X + ",k[i]);
else
printf("(%g)X^%d + ",k[i],n-(m+i));
}

printf("\n");
printf("\nÎÑÒÀÒÎÊ:");
printf("\n");

for (i=n;i>=0;i--)

{
if(i==0)
printf("(%g)",a[i]);
else if (a[i]==0)
printf("");
else if(n-(m+i)==1)
printf("(%g)X + ",a[i]);
else
printf("(%g)X^%d + ",a[i],i);
}
int g;
C5:
printf("\nÄëÿ âîçâðàòà â ìåíþ íàæìèòå -- 1; äëÿ âûõîäà -- 2.");
scanf("%d",&g);
if (g==1)
goto C4;
else if (g==2)
exit(0);
else goto C5;

}

Добавлено через 3 минуты 2 секунды
спасибо!!разобралась))
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
20.05.2009, 20:56     Деление полиномов #4
C1,C2,C3,C4,C5 и как в таком коде можно шото понять.
ИМХО изначально алгоритм был выбран не правильно.
Deirdre
0 / 0 / 0
Регистрация: 14.05.2009
Сообщений: 14
20.05.2009, 20:57  [ТС]     Деление полиномов #5
а ткакой алгоритм правильный??????
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
20.05.2009, 21:09     Деление полиномов #6
Цитата Сообщение от Deirdre Посмотреть сообщение
а ткакой алгоритм правильный??????
Я имел ввиду стиль написания кода, в нем очень много операторов goto.
Попробуйте избавится от них, ...
Yandex
Объявления
20.05.2009, 21:09     Деление полиномов
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru