Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
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:

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

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


Cevaplayan: 31.10.16 19:09
cevapsitesi
102,035p 16ü
0
Daha kıssa bir cevap, Python ile


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


Cevaplayan: 16.12.16 19:21
levent
33p 9ü