Наставничество в изучении С# - C#
Формулировка задачи:
Изучаю С# более полугода считаю что знаю на недальнем уровне, хочется развиваться , язык очень нравиться. Из-за того что не очень много практикую многое забывается, а для практики не могу найти интересных задач. Да и во многом проблема в том что когда сам ставлю себе задачу то нет интереса в её решении, но когда кто то другой ставит, есть стремление в решении поставленной задачи. Хотелось что бы кто-то давал задания я делал и присылал решение, для проверки опытным программистом, критиковал ошибки или "быдло код". было бы хорошо получать задание по возрастающей сложности. Кому не сложно и кого это сильно не отвлечет от своих проблем, занятий и жизни просьба помочь.
Решение задачи: «Наставничество в изучении С#»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Forecast
{
class Program
{
static public double forecast(double[] x, double[] y, double X)
{
double forecast = 0;
double a = 0;
double b = 0;
double x_middle = 0;
double y_middle = 0;
double Numerator=0;
double Denominator=0;
//находим среднее x
for (int i = 0; i < x.Length; i++)
{
x_middle += x[i];
}
x_middle /= x.Length;
Console.WriteLine("Среднее x= "+x_middle);
//находим среднее y
for (int i = 0; i < y.Length; i++)
{
y_middle += y[i];
}
y_middle /= y.Length;
Console.WriteLine("Среднее y= "+y_middle);
//находим b
for (int i = 0; i < x.Length; i++)
{
Numerator += (x[i] - x_middle) * (y[i] - y_middle);
Denominator += Math.Pow((x[i] - x_middle), 2);
}
b = Numerator / Denominator;
Console.WriteLine("Находим b= " +b);
//находим а
a = y_middle - (b * x_middle);
Console.WriteLine("Находим a= "+a);
forecast = a + b * X;
return forecast;
}
static void Main(string[] args)
{
double[] x = { 10, 15, 20, 25, 30, 35 };
double[] y = { 1, 2, 3, 4, 5, 6 };
Console.WriteLine("При Х=30 forecast="+forecast(x, y, 30));
}
}
}