Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Bu siteyi Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.

0



c# küme işlemleri

arkdaslar mesela a kümesi 1,2,3,4 olsun b kümesi 3,4,5,6 olsun A üssü yani A nın değilini veren sonuc 5,6 çıkacak şekilde c# kodunu çözümleyecek var mıdır 

Soran:31.10.16 01:02
misafir  

2 Cevap


1


LINQ Except kullanarak şöyle yapılabilir:

  1. int[] a = { 1, 2, 3, 4 };
  2. int[] b = { 3, 4, 5, 6 };
  3. int[] c = b.Except(a).ToArray();
  4. Console.Write(String.Join(",", c));

veya klasik yoldan 5,6 sonucunu veren fonksiyon:
  1. int[] kumeDegili(int[] a, int[] b)
  2. {
  3. // Diziye ekleme yapılamadığından bulunan elemanları tutacak ve
  4. // döndürmeden önce diziye çevrilecek bir List<int> oluştur.
  5. List<int> donus = new List<int>();
  6. int ind;
  7. // b'nin elemanlarını tek tek kontrol etmek için bir döngü yap.
  8. for (int i = 0; i < b.Length; i++)
  9. {
  10. // b'nin i. elemanı a dizisinde var mı bak.
  11. ind = Array.IndexOf(a, b[i]);
  12. // Dizide yoksa donus listesine b'nin i. elemanını ekle.
  13. if (ind == -1)
  14. donus.Add(b[i]);
  15. }
  16. return donus.ToArray(); // List<int> donus değişkeninin değerlerinden bir dizi oluştur (List<int> olduğundan int[] oluşur).
  17. }
Fonksiyonu kullanan örnek konsol uygulaması:
  1. using System;
  2. namespace Kumeler
  3. {
  4. class Kume
  5. {
  6. static void Main()
  7. {
  8. int[] a = new int[] { 1, 2, 3, 4 };
  9. int[] b = new int[] { 3, 4, 5, 6 };
  10. int[] sonuc = kumeDegili(a, b);
  11. Console.Write("B\\A={");
  12. Console.Write(String.Join(",", sonuc));
  13. Console.WriteLine("}");
  14. Console.ReadKey();
  15. }
  16. }
  17. }
Örnek konsol uygulamasının çıktısı:
  1. B\A={5,6}


Cevaplayan: 31.10.16 19:09
cevapsitesi
102,040p 16ü

0


Daha kıssa bir cevap, Python ile


  1. #!/usr/bin/python 2.7
  2. listA=[1,3,5]
  3. listB=[1,2,3,4,5,6]
  4. print "listB/listA="
  5. print [c for c in listB if c not in listA]


Cevaplayan: 16.12.16 19:21
levent
33p 9ü

Bir cevap yazın: