Класс Полином со степенью многочлена и массивом коэффициентов - C#

Узнай цену своей работы

Формулировка задачи:

1.Необходимо создать класс Полином (от одной переменной) в котором задается степень многочлена и массив коэффициентов, вводимых из консоли. 2.Создать для этого класса методы для вычисления значения полинома для заданного аргумента, операции сложения, вычитания и умножения многочлена с получением нового объекта-многочлена, вывод на экран описания многочлена. Ребят, помогите доделать программу, пожалуйста. класс создала, но неправильно выводит. и помогите со вторым заданием (((
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApplication1
  7. {
  8. class Mnogochlen
  9. {
  10. private int step; //степень полинома
  11. private int[] koef; //массив коэффициентов
  12. public Mnogochlen(int[] k, int s)
  13. {
  14. koef = k;
  15. step = s;
  16. }
  17.  
  18. public void show() //вывод на экран (например должно быть 1x+3x^2+6x^3)
  19. {
  20. StringBuilder sb = new StringBuilder();
  21. for(int i=0; i<=step; i++)
  22. sb.Append( koef[i] + "x^" + (step-i));
  23. Console.WriteLine(sb);
  24. }
  25. }
  26.  
  27. class Program
  28. {
  29. static void Main(string[] args)
  30. {
  31. int step;
  32. int[] koef;
  33. Console.WriteLine("введите степень многочлена");
  34. step = Convert.ToInt32(Console.ReadLine());
  35. Console.WriteLine("Введите размер массива");
  36. int[] koef = new int[Int32.Parse(Console.ReadLine())];
  37. Console.WriteLine("Введите числа в массиве");
  38. for (int i = 0; i < koef.Length; i++)
  39. {
  40. Console.WriteLine("arr" + i.ToString() + " =");
  41. koef[i] = Int32.Parse(Console.ReadLine());
  42. }
  43. Mnogochlen m = new Mnogochlen(koef, step);
  44. m.show();
  45. Console.ReadKey();
  46. }
  47. }
  48. }

Решение задачи: «Класс Полином со степенью многочлена и массивом коэффициентов»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication3
  8. {
  9.  
  10.     class Mnogochlen
  11.     {
  12.          
  13.         int[] koef; //массив коэф-ов
  14.         int step; //значение степени полинома
  15.  
  16.         public Mnogochlen(int[] k, int s)
  17.           {
  18.              koef = k;
  19.              step = s;
  20.           }
  21.          
  22.           //сложение полиномов
  23.         public static Mnogochlen operator +(Mnogochlen A, Mnogochlen B)
  24.           {
  25.                 int D1 = A.step;
  26.                 int[] M1 = new int[D1 + 1];
  27.                 Mnogochlen C = new Mnogochlen(M1, D1);
  28.                 for (int i = 0; i < A.step + 1; i++)
  29.                 {
  30.                     C.koef[i] = A.koef[i] + B.koef[i];
  31.                 }
  32.                 return C;
  33.            }
  34.            
  35.  
  36.         //вычитание полиномов
  37.         public static Mnogochlen operator -(Mnogochlen A, Mnogochlen B)
  38.             {
  39.                 int D1 = A.step;
  40.                 int[] M1 = new int[D1 + 1];
  41.                 Mnogochlen C = new Mnogochlen(M1, D1);
  42.                 for (int i = 0; i < A.step + 1; i++)
  43.                 {
  44.                     C.koef[i] = A.koef[i] - B.koef[i];
  45.                 }
  46.                 return C;
  47.             }
  48.            
  49.  
  50.         //умножение полиномов
  51.         public static Mnogochlen operator *(Mnogochlen A, Mnogochlen B)
  52.             {
  53.                 int D1 = A.step;
  54.                 int[] M1 = new int[D1 + 1];
  55.                 Mnogochlen C = new Mnogochlen(M1, D1);
  56.                 for (int i = 0; i < A.step + 1; i++)
  57.                 {
  58.                     C.koef[i] = A.koef[i] * B.koef[i];
  59.                 }
  60.                 return C;
  61.             }
  62.                
  63.            
  64.  
  65.        //вывод полинома
  66.         public void show()
  67.             {
  68.                 for (int i = 0; i < step; i++)
  69.                 {
  70.                     Console.Write("+" + koef[i] + "x^" + (step - i));
  71.                 }
  72.                 //return 0;
  73.             }
  74. }
  75.  
  76.  
  77.  
  78.     class Program
  79.     {
  80.         static void Main(string[] args)
  81.         {
  82.             //ввод первого многочлена
  83.             int step;        
  84.             int[] koef;
  85.  
  86.             Console.WriteLine("Введите степень первого многочлена:");  
  87.             step = Convert.ToInt32(Console.ReadLine());
  88.          
  89.             int Val = 0;
  90.             int[] Matrix1 = { 1, 2, 3, 4 };
  91.  
  92.             Console.WriteLine("Введите размер первого массива");
  93.             koef = new int[Int32.Parse(Console.ReadLine())];
  94.  
  95.             Console.WriteLine("Введите матрицу коэффициентов первого многочлена:");
  96.             for (int i = 0; i < koef.Length; i++)
  97.             {
  98.                 koef[i] = Int32.Parse(Console.ReadLine());
  99.             }
  100.             Mnogochlen A = new Mnogochlen(koef, step);
  101.  
  102.  
  103.  
  104.  
  105.  
  106.             //ввод первого многочлена
  107.             int step2;
  108.             int[] koef2;
  109.  
  110.             Console.WriteLine("Введите степень второго многочлена:");
  111.             step2 = Convert.ToInt32(Console.ReadLine());
  112.            
  113.             int[] Matrix2 = { 1, 2, 3, 4 };
  114.  
  115.             Console.WriteLine("Введите размер второго массива");
  116.             koef2 = new int[Int32.Parse(Console.ReadLine())];
  117.  
  118.             Console.WriteLine("Введите матрицу коэффициентов второго многочлена:");
  119.             for (int i = 0; i < koef2.Length; i++)
  120.             {
  121.                 koef2[i] = Int32.Parse(Console.ReadLine());
  122.             }
  123.             Mnogochlen B = new Mnogochlen(koef2, step2);
  124.  
  125.  
  126.  
  127.             //вывод многочленов
  128.             Console.Write("A= ");
  129.             A.show();          
  130.             Console.WriteLine("\n");
  131.             Console.Write("B= ");
  132.             B.show();
  133.              
  134.  
  135.             //вывод операций
  136.             A = new Mnogochlen(Matrix1, step);
  137.             B = new Mnogochlen(Matrix2, step2);
  138.             Mnogochlen C = A + B;
  139.             Mnogochlen D = A - B;
  140.             Mnogochlen E = A * B;
  141.             Console.Write("A+B= ");
  142.             C.show();
  143.             Console.Write("A-B= ");
  144.             D.show();
  145.             Console.Write("A*B= ");
  146.             E.show();    
  147.             Console.ReadLine();
  148.         }          
  149.     }
  150. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы