Выполнить декартово произведение (исправить код) - C#
Формулировка задачи:
Вобщем имеем масив Х={1,2,3,4,5}(одномерный)
дальше мы должны выполнить декартово произведение
Х х Х={(1.1)(1,2)(1,3)(1,4)(1,5)(2,1)(2,2)(2,3)(2,4)(2,5)(3,1)(3,2)(3,3)(3,4)(3,5)(4,1)(4,2)(4,3)(4,5)(5,1)(5,2)(5,3)(5,4)(5 ,5)} получивший массив - двумерынй
Вместо элементов почему то выводит строки с System.Int32[]
п.с. не могли бы помочь придумать алгоритм , что бы в новом массиве были только элементы удовлетворяющие условию x-y -чётное (деление на 2 без остатка)
namespace Diskret__
{
class Program
{
static void Main(string[] args)
{
int a = 1;
int b = 2;
int x = 3;
int y = 4;
int z = 5;
var s1 = new[] { a, b ,x,y,z};
var s2 = new[] {a,b, x, y, z };
var product =
from first in s1
from second in s2
select new[] { first, second };
foreach (var elem in product)
Console.WriteLine(elem);
Console.ReadLine();
}
}
}Решение задачи: «Выполнить декартово произведение (исправить код)»
textual
Листинг программы
using System;
using System.Linq;
namespace ConsoleApplication11
{
class Program
{
static void Main()
{
var a = new[] { 1, 2, 3, 4, 5 };
var b = from x in a
select new {A =
from y in a
select new { X = x, Y = y }
};
foreach (var v in b)
{
foreach (var p in v.A)
Console.Write("({0},{1}) ",p.X,p.Y);
Console.WriteLine();
}
Console.ReadKey();
}
}
}