Описать процедуру Swap(X, Y) - C#
Формулировка задачи:
Описать процедуру Swap(X, Y), меняющую содержимое переменных X и Y (X и Y – вещественные параметры, являющиеся одновременно входными и выходными). С ее помощью для данных переменных A, B, C, D последовательно поменять содержимое следующих пар: A и B, C и D, B и C и вывести новые значения A, B, C, D.
Вот что у меня получилось(но еще нужно сделать ввод с клавиатуры вещественных чисел)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
// Метод, изменяющий свой аргумент
static void myCh(ref char c)
{
c = 'A';
}
static void myCj(ref char t)
{
t = 'C';
}
static void Swap(ref char x, ref char y,ref char o, ref char l)
{
char c;
c = x;
x = y;
y = c;
char t;
t = o;
o = l;
l = t;
}
// Метод меняющий местами аргументы
static void Swap(ref char o, ref char l)
{
char t;
t = o;
o = l;
l = t;
}
static void Main()
{
char ch = 'B', A = '2', B = '4';
Console.WriteLine("Переменная ch до вызова метода myCh: {0}", ch);
myCh(ref ch);
Console.WriteLine("Переменная ch после вызова метода myCh: {0}", ch);
Console.WriteLine("\nПеременная A = {0}, переменная B = {1}", A, B);
Swap(ref A, ref B);
Console.WriteLine("Теперь A = {0}, B = {1}", A, B);
Console.ReadLine();
}
}
}Решение задачи: «Описать процедуру Swap(X, Y)»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication33 {
class Program {
static void Main(string[] args) {
int myInt1 = 10;
int myInt2 = 30;
Swap(ref myInt1, ref myInt2);
double myDouble1 = 15.9;
double myDouble2 = 29.2;
Swap(ref myDouble1, ref myDouble2);
}
static void Swap<T>(ref T arg1, ref T arg2) where T : struct {
T temp = arg1;
arg1 = arg2;
arg2 = temp;
}
}
}