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

структура,описание полинома - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ HELP http://www.cyberforum.ru/cpp-beginners/thread71973.html
вот тут описана такая же задача как мне надо решить но проблема в том я так и не пойму чем все кончилось как это все реализовать?? помогите пожалуйста!! с меня шоколадка :)) Добавлено через 59 секунд да забыл вот ссылка http://www.cyberforum.ru/visual-cpp/thread13590.html?uri=/visual-cpp/thread13590.html
C++ функция с указателем Плз, помогите.... :wall::help: надо написать на языке С Написать и протестировать функцию STRP ( str1, str2), которая возвращает указатель на первое вхождение символа из строки str2 в строку str1. Если ни один символ строки str2 не входит в строку str1, то возвратить NULL. http://www.cyberforum.ru/cpp-beginners/thread71972.html
C++ fprintf не может записать значения типа чар в файл
функция принтф не может записать значения типа чар в текстовой файл int wordsGenerator(char name) { //Объявляем// char *pod; char *skaz; char *subskaz; int n = rand() % 1204;
C++ Структуры использование
Для получения места в общежитии формируется список студентов, который включает ФИО студента, группу, средний балл, доход семьи. Общежитие в первую очередь предоставляется тем, у кого доход меньше двух минимальных зарплат, затем остальным в порядке уменьшения среднего балла. Вывести список очерёдности предоставления мест в общежитии. МОЛЮ О ПОМОЩИ!!!!!!!!!!!!!(очень нужно решение, а то...
C++ Странность работы функций [ifstream&] tellg() и seekg() на разных платформах http://www.cyberforum.ru/cpp-beginners/thread71955.html
В моей программе файл читается посимвольно и открывается на чтение в текстовом виде source.open(filename, ifstream::in); Где-то в недрах программы используется такая конструкция: unsigned long c = source.tellg(); if (parser_GetToken() == TOKEN_COMMA) error(CONST_REQUIRED); source.seekg(c); Смысл которой прост: запомнить позицию указателя,заглянуть вперёд в...
C++ Длинная арифметика)) Программка уже почти готова, единственное неправильно находит остаток при делении По заданию: Надо ввести 2-ва целых числа неогран. разрядности и произвести сложение, вычитание, умножение, деление. Помогите пожалуйста найти опечатку или ошибку из-за которой прога неправильно находит остаток при делении)))) Вот готовый код на С++: #include <stdio.h> #include <conio.h> подробнее

Показать сообщение отдельно
TanT
эволюционирую потихоньку
 Аватар для TanT
464 / 462 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
14.01.2010, 18:15     структура,описание полинома
Цитата Сообщение от Лестат Посмотреть сообщение
ясно, очень жаль =(.
Спасибо большое

Добавлено через 1 минуту
а нармализация, вычитание, умножение , деление ? ...
вот вычитание, остальное по подобию
с умножением посерьёзнее. там степени могут расти, для этого чтобы с переопределением памяти не возиться, можно попробовать сразу памяти выделять не под n коэффициентов а под 2*n-1 и забивать неиспользуемые коэффииенты нулями. а в функии PrintPolinom не выводить данные с нулевыми коэффициентами.
таким образом при умножении находишь самый длинный полином, смело умножаешь и при возрастании степени полинома задействуешь свободные коэффициенты, но опять же если опять умножение повториться, то свободная память иссякнет, всё равно придётся с реалоком возиться.

интересные вам задачки задают товарищ Лестат жаль времени нема, увы работа
а вам широкие перспективы для развития предоставляются

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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
struct polinom {
    double *k;
    unsigned int n;
};
 
 
 
polinom * CreatePolinom()
{
    polinom *p= (polinom *) malloc(sizeof(polinom));
 
    // ввод количества коэффициентво без проверки на дурака
    printf("Enter number coefficients in polinom: "); scanf("%i",&(p->n));
 
    // выделяем память под коэффициенты
    p->k = (double *) calloc(p->n, sizeof(double));
    for (int i=0; i<p->n; i++)
    {
        printf("Enter coefficient by x^%i: ",i);  scanf("%lf",&(p->k[i]));
    }
 
    return p;
}
 
void PrintfPolinom(polinom * p)
{
    for (int i=p->n; --i>=1;)       printf("%.2lf*x^%i + ",p->k[i],i);  
    printf("%.2lf",p->k[0]);  
}
 
polinom * Deduction(polinom * a, polinom * b)
{
  // работаем только с коэфициентами полинов, внимание к количеству коэффициентов
    if (a->n < b->n)
    {
        for (int i=a->n; i<b->n; i++)
        {
             b->k[i]=-b->k[i];
        }
 
        for (int i=0; i<b->n; i++)
        {
            b->k[i]-=a->k[i];
        }
        return b;
    }
 
    for (int i=0; i<b->n; i++)
    {
            a->k[i]-=b->k[i];
    }
    return a;
    
}
 
int main(void) 
{
    polinom *a, *b;
 
    if ((a=CreatePolinom()) == NULL)
        exit(EXIT_FAILURE);
 
    if ((b=CreatePolinom()) == NULL)
        exit(EXIT_FAILURE);
 
    a=Deduction(a,b);
    PrintfPolinom(a);
 
    getch();
    exit(EXIT_SUCCESS);
}
 
Текущее время: 21:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru