Porównanie dwóch tablic/txt

Odpowiedz Nowy wątek
2015-06-09 20:22
KaKtusEl
0

Witam.

Jak zrobić żeby program porównywał dwie tablice/pliki txt ze sobą, a następnie usuwał takie same elementy jakie są w tablicy 2 z tablicy 1?

Mam nadzieję że wiecie o co mi chodzi :)

Pozostało 580 znaków

2015-06-09 21:37
0

Cholibka, nie rozumiem może pokażesz kod który do tej pory napisałeś i w czym problem może ktoś zrozumie co chcesz osiągnąć...
A tak na serio to dwie pętle iterujesz po elementach pierwszej tablicy i dla każdego elementu sprawdzasz czy istnieje w drugiej tablicy, jak jest to usuwasz jak nie ma to nie usuwasz.


Yubby dibby dibby dibby dibby dibby dibby dum..
edytowany 1x, ostatnio: DibbyDum, 2015-06-09 21:41

Pozostało 580 znaków

2015-06-09 21:44
KaKtusEl
0

kurczę, trudno to wytłumaczyć :D

Może tak:
Wczytuję sobie pliki do array'a -

string[] Jeden= System.IO.File.ReadAllLines(@"Jeden.txt"); 
string[] Dwa= System.IO.File.ReadAllLines(@"Dwa.txt"); 

W tablicy "Jeden" mam:

aa
bb
cc

A w tablicy "Dwa":

xx
aa
yy

I teraz chciałbym żeby z tablicy "Dwa" usunęło mi "aa"

Pozostało 580 znaków

2015-06-09 22:06
3

string[] wynik = dwa.Except(jeden).ToArray();


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
Ha! Jedna linia, piątka za zadanie domowe będzie jak nic. :P - DibbyDum 2015-06-09 22:14

Pozostało 580 znaków

2015-06-11 10:54
johny1500
0

Z Except trzeba uważać, bo on nie tylko usunie elementy ze zbioru 1, które znajdują się w zbiorze 2, ale dodatkowo zrobi distinct na zbiorze 1. Najłatwiej będzie to zaprezentować na przykładzie.


      var one = new[]
      {
        "aaa",
        "bbb",
        "ccc"
      };

      var two = new[]
      {
        "ddd",
        "eee",
        "aaa",
        "eee"
      };

      var result = two.Except(one).ToArray();

Wg mnie spodziewanym wynikiem powinna być tablica ["ddd", "eee", "eee"], zaś będzie ["ddd", "eee"].

Pozostało 580 znaków

2015-06-11 12:42
1

O borze. :|

Nie ma żadnego distinct. Except zwraca zbiór, a zbiór z definicji nie może zawierać dwóch takich samych elementów.

Zawsze można napisać:

two.Where(x => !one.Contains(x)).ToArray();

"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0