Упражнения C # Sharp: создание декартового произведения из трех наборов
C # Sharp LINQ: упражнение 24 с решением
Напишите программу на C # Sharp, чтобы сгенерировать декартово произведение из трех множеств.
Пример решения : -
C # острый код:
using System;
using System.Linq;
using System.Collections.Generic;
class LinqExercise24
{
public static void Main(string[] args)
{
char[] charset1 = { 'X', 'Y', 'Z' };
int[] numset1 = { 1, 2, 3 };
string[] colorset1 = { "Green", "Orange" };
Console.Write("\nLINQ : Generate a Cartesian Product of three sets : ");
Console.Write("\n----------------------------------------------------\n");
var cartesianProduct = from letter in charset1
from number in numset1
from colour in colorset1
select new { letter, number, colour };
Console.Write("The Cartesian Product are : \n");
foreach (var ProductList in cartesianProduct)
{
Console.WriteLine(ProductList);
}
Console.ReadLine();
}
}
ИЛИ ЖЕ
using System;
using System.Linq;
using System.Collections.Generic;
class LinqExercise24
{
public static void Main(string[] args)
{
char[] set1 = { 'X', 'Y', 'Z' };
int[] set2 = { 1, 2, 3 };
string[] set3 = { "Green", "Pink" };
Console.Write("\nLINQ : Generate a Cartesian Product of three sets: ");
Console.Write("\n---------------------------------------------------\n");
var set12CartesianProduct = set1.SelectMany(
letterList => set2.Select(numList =>
new { letterList, numList }));
var cartesianProduct = set12CartesianProduct.SelectMany(
(set1and2) => set3.Select(colorList =>
new { set1and2.letterList, set1and2.numList, colorList }));
Console.Write("The Cartesian Product are : \n");
foreach (var ProductList in cartesianProduct)
{
Console.WriteLine(ProductList);
}
Console.ReadLine();
}
}
Пример вывода:
LINQ: генерировать декартово произведение из трех наборов: -------------------------------------------------- - Декартовы произведения: {буква = X, число = 1, цвет = зеленый} {буква = X, число = 1, цвет = оранжевый} {буква = X, число = 2, цвет = зеленый} {буква = X, число = 2, цвет = оранжевый} {буква = X, число = 3, цвет = зеленый} {буква = X, число = 3, цвет = оранжевый} {буква = Y, число = 1, цвет = зеленый} {буква = Y, число = 1, цвет = оранжевый} {буква = Y, число = 2, цвет = зеленый} {буква = Y, число = 2, цвет = оранжевый} {буква = Y, число = 3, цвет = зеленый} {буква = Y, число = 3, цвет = оранжевый} {буква = Z, число = 1, цвет = зеленый} {буква = Z, число = 1, цвет = оранжевый} {буква = Z, число = 2, цвет = зеленый} {буква = Z, число = 2, цвет = оранжевый} {буква = Z, число = 3, цвет = зеленый} {буква = Z, число = 3, цвет = оранжевый}
Блок - схема:
Редактор кода C # Sharp:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C # Sharp, чтобы сгенерировать декартово произведение из двух множеств.
Далее: Напишите программу на C # Sharp для генерации внутреннего соединения между двумя наборами данных.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code