Добавьте плиз Ref и out - C#
Формулировка задачи:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static double s, c, y, z,x,f,a;
static void Main(string[] args)
{
Console.WriteLine("Введите x<1");
x = Convert.ToDouble(Console.ReadLine());
c = x;
s=0;
f=1;
z=1;
y=c/z;
while (y > 0.001)
{
s = s + f * y;
f = f * (-1);
c = c * x * x;
z = z + 2;
y = c / z;
}
Console.WriteLine();
a = Math.Atan(x); ;
Console.WriteLine("Arctang({1}) = {0}", a,x);
Console.WriteLine(" Сумма ряда = {0}", s);
Console.ReadKey();
}
}
}Решение задачи: «Добавьте плиз Ref и out»
textual
Листинг программы
class Program
{
static public void MetodRef(ref double s)
{
s = 0.5;
}
static public void MetodOut(double a, out double b, out double c)
{
b = a + 0.5;
c = a - 0.5;
}
static void Main(string[] args)
{
// ref
double f=0.7;
MetodRef(ref f);
Console.WriteLine(f);
// при помощи ref мы создали ссылку на переменную f (ref f)
// теперь метод MetodRef работает с сcылкой на f
// s стала ссылкой на переменную f. Что бы мы не делали с s в методе MetodRef на самом деле мы будем изменять f.
// проверь. Вначале f=0.7. После метода она стала равна 0.5 хотя мы работали с s
// out
//Тут совсем просто. Метод может возвращать значение. Например public string A(int i) - A а возвратит значение типа string
// А если тебе нужно возвратить не одно значение а несколько? Для этого и нужно применить out
double x=1;
double y;
double z;
MetodOut(x, out y, out z); // y и z будут присвоены значения, полученные в методе MetodOut
Console.WriteLine(y+ " " +z);
Console.ReadKey();