Составить описание класса многочлена вида ах^2 +Ьх + с - C#

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

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

Предусмотреть методы,реализующие: • вычисление значения многочлена для заданного аргумента; • операцию сложения, вычитания и умножения многочленов с получением нового объекта-многочлена; • вывод на экран описания многочлена. Написать программу, демонстрирующую все разработанные элементы класса

Решение задачи: «Составить описание класса многочлена вида ах^2 +Ьх + с»

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 ConsoleApplication17
  8. {
  9.     class Program
  10.     {
  11.         class Mnogochlen
  12.         {
  13.             private double[] A;//единственное поле класса(массив коэффициэнтов)
  14.            
  15.  
  16.             public Mnogochlen (double[] VvodA)//конструктор класса, вызывается при создании нового элемента класса, для поддержки инкапсуляции, если она будет нужна
  17.             {
  18.                 A=VvodA;                
  19.             }
  20.            
  21.             public void VivodMnogochlena()
  22.             {
  23.                 for (int i=0;i<A.Length-1;i++)
  24.                     Console.Write("{0}x^{1} + ",A[i],A.Length-i-1);
  25.                 Console.Write(A[A.Length-1]+"\n");
  26.             }
  27.             public double ZnachenieMnogochlena(double x)/// возвращает значение многочлена в точке х
  28.             {
  29.                 double rezalt=0;
  30.                 for (int i=0; i<A.Length; i++)
  31.                 {
  32.                     double StepenX=1;
  33.                     for(int j=0;j<A.Length-i-1;j++)
  34.                         StepenX*=x;
  35.                     rezalt+=StepenX*A[i];
  36.                 }
  37.                 return rezalt;            
  38.             }
  39.  
  40.             public static Mnogochlen SlogitMnogochleni(Mnogochlen mn1, Mnogochlen mn2)
  41.             {
  42.                 Mnogochlen mnRezalt = new Mnogochlen(new double [Math.Max(mn1.A.Length, mn2.A.Length)]); // создание массива, в который будет сложен результат. его размер будет соответсвовать большему из исходных.
  43.                 for(int i=mnRezalt.A.Length-1;i>=0;i--)
  44.                 {
  45.                     if (i<mn1.A.Length)
  46.                         mnRezalt.A[i]+=mn1.A[i];
  47.                     if (i<mn2.A.Length)
  48.                         mnRezalt.A[i]+=mn2.A[i];
  49.                 }
  50.                 return mnRezalt;
  51.             }
  52.  
  53.             public static Mnogochlen UmnogitMnogochleni(Mnogochlen mn1, Mnogochlen mn2)
  54.             {
  55.                 Mnogochlen mnRezult = new Mnogochlen (new double[mn1.A.Length+mn2.A.Length-1]);
  56.                     for (int i1=0; i1<mn1.A.Length;i1++)
  57.                     {
  58.                         for (int i2=0; i2<mn2.A.Length;i2++)
  59.                         mnRezult.A[i1+i2]+=mn1.A[i1]*mn2.A[i2];
  60.                     }        
  61.                 return mnRezult;
  62.             }
  63.         }
  64.         static void Main(string[] args)
  65.         {
  66.             Mnogochlen testMnogochlen1 = new Mnogochlen(new double[] {1,2,3,4,5}); //создание представителя класса с именем testMnogochlen и массивом таким-то.
  67.             Mnogochlen testMnogochlen2 = new Mnogochlen(new double[] {1,1,1,1,1});
  68.             testMnogochlen1.VivodMnogochlena();
  69.             testMnogochlen2.VivodMnogochlena();
  70.             Console.WriteLine("введите переменную для нахождения значения первого многочлена");
  71.             double x= double.Parse(Console.ReadLine()); //ввод с клавиатуры переменной X;
  72.             Console.WriteLine("значение многочлена в точке x= {0} будет {1}", x, testMnogochlen1.ZnachenieMnogochlena(x));
  73.             Mnogochlen summa = Mnogochlen.SlogitMnogochleni(testMnogochlen1,testMnogochlen2);
  74.             Mnogochlen proizvedenie = Mnogochlen.UmnogitMnogochleni(testMnogochlen1,testMnogochlen2);
  75.             Console.WriteLine("сумма многочленов равна:");
  76.             summa.VivodMnogochlena();
  77.             Console.WriteLine("произведение моногочленов равно:");
  78.             proizvedenie.VivodMnogochlena();
  79.         }
  80.     }
  81. }

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


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

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

6   голосов , оценка 4.333 из 5

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

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

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