IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Динамические структуры данных. Язык Си., Списки.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 30
Пол: Мужской
Реальное имя: Никита

Репутация: -  0  +


Умножение многочленов. Проблема такая: не могу задать степень второго многочлена и вообщем то реализовать сам алгоритм перемножения. Может кто-нибудь кинет идею.

Код


#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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 11:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name