Добавьте плиз 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();

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


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

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

9   голосов , оценка 4 из 5
Похожие ответы