Matematika, Selisih Simetris
Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 65 dari 66.
Symmetric difference dari dua set berisi elemen yang ada di salah satu set, tetapi tidak ada di irisan keduanya (elemen yang muncul tepat di salah satu set).
Buat dua object HashSet:
HashSet<int> set1 = new HashSet<int>() { 1, 2, 3, 4 };
HashSet<int> set2 = new HashSet<int>() { 3, 4, 5, 6 };Buat HashSet baru untuk hasilnya:
HashSet<int> symmetricDifference = new HashSet<int>(set1);Gunakan method SymmetricExceptWith untuk menghitung selisih simetris:
symmetricDifference.SymmetricExceptWith(set2);Set symmetricDifference berisi nilai berikut setelah kode di atas dijalankan:
{ 1, 2, 5, 6 }Elemen 3 dan 4 ada di kedua set, jadi keduanya tidak muncul dalam selisih simetris.
Tantangan
MudahBuat method bernama FindSymmetricDifference yang menerima dua argumen:
- HashSet berisi bilangan bulat (
set1) - HashSet berisi bilangan bulat (
set2)
Method tersebut harus mengembalikan HashSet<int> baru yang berisi selisih simetris dari kedua set. Bagian program lainnya (membaca input, mengurutkan, dan mencetak hasil) sudah disediakan untukmu.
Coba sendiri
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
public static HashSet<int> FindSymmetricDifference(HashSet<int> set1, HashSet<int> set2)
{
// Tulis kodemu di sini
}
static void Main(string[] args)
{
string[] input1 = Console.ReadLine().Split(',');
string[] input2 = Console.ReadLine().Split(',');
HashSet<int> set1 = new HashSet<int>();
HashSet<int> set2 = new HashSet<int>();
foreach (string s in input1)
{
if (int.TryParse(s.Trim(), out int num))
{
set1.Add(num);
}
}
foreach (string s in input2)
{
if (int.TryParse(s.Trim(), out int num))
{
set2.Add(num);
}
}
HashSet<int> result = FindSymmetricDifference(set1, set2);
// Cetak hasilnya dalam urutan menaik
int[] orderedResult = result.OrderBy(x => x).ToArray();
foreach (int num in orderedResult)
{
Console.WriteLine(num);
}
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1array Multidimensi
Dasar-Dasar array 2DMendeklarasikan dan Menginisialisasi array 2DMengakses Elemen array 2DPerulangan Bersarang dengan array 2Darray BergerigiOperasi Matriks UmumRangkuman: array Multidimensi4Teknik Alur Kontrol
Pengembalian DiniKlausa PenjagaPernyataan Lompatan (goto)Break dan ContinueMeratakan Percabangan Bersarang7Operator Logika Lanjutan
Evaluasi Hubung SingkatOperator Logika PercabanganPrioritas OperatorRingkasan Operator Lanjutan2Pengambilan Keputusan Tingkat Lanjut
Beberapa KondisiLogika Boolean yang KompleksPerbandingan If dan SwitchPernyataan Switch BersarangUlasan: Pengambilan Keputusan Tingkat Lanjut5Penanganan Exception
Dasar Try-CatchJenis ExceptionBeberapa Blok CatchBekerja dengan fileBlok FinallyUsing vs. Try-FinallyException KustomRingkasan: Penanganan error3Peningkatan Loop
Performa LoopIterasi yang KompleksSetiap Jenis LoopRefactoring LoopRangkuman: Loop yang Dioptimalkan6Penanganan Null
Dasar Referensi NullTipe Nilai NullablePola Pemeriksaan NullPemrograman DefensifRingkasan: Keamanan Null9HashMap Bagian 1
Apa itu HashMap?Deklarasikan HashMapPeriksa Apakah Kunci AdaMengakses NilaiMengubah dictionaryRingkasan HashMap12HashSet Bagian 2
Matematika, Union HashSetMatematika, Irisan HashSetMatematika, Selisih SetMatematika, Selisih SimetrisMelakukan Iterasi pada SetLatihan sendiri: Compiler C# online