Advertisement
VladimirKostovsky

Лаб №1.4 (б). Редакция 0.4

Feb 24th, 2022
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.24 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <cmath>
  3.  
  4. int main() {
  5.     struct list {
  6.         list* next;
  7.         char elem;
  8.         int number;
  9.     }
  10.     list * ph; * num; // не объявляется num
  11.     list* p, * p2, * p3, * counter;
  12.     // p - первый полином
  13.     // p2 - второй полином
  14.     // p3 - сумма полиномов
  15.     // counter - степень полинома
  16.  
  17.     char ch;
  18.     int i = 0;
  19.     FILE* f;
  20.     fopen_s(&f, "input.txt", "r");
  21.  
  22.     {ph = new list; // объявление ph главным звеном
  23.     fscanf_s(f, "%c", &ch);
  24.     ph->next = NULL; // next - прямая ссылка
  25.     num->next = NULL;
  26.     p = ph; // сделать p заглавным звеном (заготовка для продвижения)
  27.     counter = num; // num - считать
  28.     while ((ch = getchar()) != '\n') {
  29.         p->next = new list; // Создание очеревдного звена (продвижение)
  30.         counter->next = new list;
  31.         p = p->next; // p присваиваем ссылку на очередное звено (действие на ячейку)
  32.         counter = counter->next;
  33.         p->elem = ch; // elem присваиваем значение символа ch (действие на содержание ячейки)
  34.         counter->number = i++;
  35.         scanf(f, "%c", &ch);
  36.     }
  37.     p2 = p->next;
  38.     p = NULL;
  39.  
  40.     int i = 0; //  обнулить
  41.     while ((ch = getchar()) != '\n') {
  42.         p2->next = new list; // повторение создания заглавного звена?
  43.         counter->next = new list;
  44.         p2 = p2->next;
  45.         counter = counter->next;
  46.         p2->elem = ch;
  47.         counter->number = i++;
  48.         scanf(f, "%c", &ch);
  49.     }
  50.    
  51.         // степень n[i] = n[0] - истинная степень
  52.  
  53.     p2->next = NULL;
  54.     list * ph2;
  55.     for (p = ph, p2 = ph2; p != NULL, p2 != NULL; p = p->next, p2 = p2->next) {
  56.         p3 -> (p + p2);
  57.         p3 = p3->next;
  58.         // вывод в формате
  59.         // p1 = 2x^3 + 3x^2 + 2x + 6
  60.         // p2 = 4x^3 + 6x^2 + 7x - 3
  61.         // p3 = 6x^3 + 9x^2 + 9x + 3
  62.     }
  63.     p3 -> next = NULL;
  64.  
  65.     // открыть файл для третьего
  66.     for (p3 = ph; p->next != NULL; p3 = p->next) {
  67.         // вывод значения p3 + значение степени через цикл for
  68.         // (хотя n нужно как-то достать)
  69.     }
  70.     }
  71.     return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement