Jak zsumować wartości w dwóch tablicach jednowymiarowych?

0

Wiec tak nie wiem dokladnie czy pytanie w temacie jest dobre ale wydaje mi sie ze nawiazuje do tematu o ktory mi chodzi, bynajmniej do efektu ktory chce uzyskac. Fragmet skryptu ktory wstawiam jest czescia dzialajacej calosci wiec chodzi tylko o poprawienie. Dokladnie:

Linijka:

  TextBox21.Text = TextBox21.Text & CStr(da(i)) & "   " & CStr(j) + vbCrLf

oraz

  TextBox22.Text = TextBox22.Text & CStr(db(i)) & "   " & CStr(j) + vbCrLf

zwracaja wyniki, pierwsza cos w stylu

20 3
5  1
10  2

Druga

25  4
20 2
10 1

Chodzi o to zeby tak polaczyc te dwie czesci aby

wyswietlalo :

20 5
25 4
5 1
10 3

czyli inaczej ten "program" zlicza elementy z tabeli da i tabeli db chcialbym, zeby je w jakis sposob polaczyc, pewnie to fragment kodu a ja mam zacmienienie no ale od tego jest to forum i ten dzial.

Skrypt jest w vb.net ale jesli ktos ma pomysl w innym jezyku to prosze o pomysl.

 'zliczanie wystapien DA
        
        For i = 0 To rozmiar2
            juz_jest = 0
            l = 0
            Do While l < i
                If (da(i) = da(l)) Then
                    juz_jest = 1
                End If
                l = l + 1
            Loop
            If (juz_jest = 0) Then
                j = 1
                k = i + 1
                Do While k < rozmiar2
                    If (da(i) = da(k)) Then
                        j = j + 1
                    End If
                    k = k + 1
                Loop
                TextBox21.Text = TextBox21.Text & CStr(da(i)) & "   " & CStr(j) + vbCrLf
            End If
        Next
        'zliczanie wystapien DB
        
        For i = 0 To rozmiar2
            juz_jest = 0
            l = 0
            Do While l < i
                If (db(i) = db(l)) Then
                    juz_jest = 1
                End If
                l = l + 1
            Loop
            If (juz_jest = 0) Then
                j = 1
                k = i + 1
                Do While k < rozmiar2
                    If (db(i) = db(k)) Then
                        j = j + 1
                    End If
                    k = k + 1
                Loop
                TextBox22.Text = TextBox22.Text & CStr(db(i)) & "   " & CStr(j) + vbCrLf
            End If
        Next

dodanie znaczników <code> - furious programming

1

Pewnie są piękniejsze sposoby ale "na lenia" w C# zrobił bym tak:

 private static void Main(string[] args)
      {
         int[] table1 = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, };
         int[] table2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9};
         var merge = table1.Concat(table2).ToArray();
         var dist = merge.Distinct();

         foreach (var i in dist)
         {
            var iloc = merge.Count(x => x.Equals(i));
            Console.WriteLine(i + " : " + iloc);
         }
         Console.ReadKey();
      } 
0

ktos ma jeszcze jakis pomysl?

0

co w przypadku jak mam np tablice da() i chce ja porownac z db() dc()

var merge = table1.Concat(table2).ToArray();

jak przerobic ta linijke?

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