Wyrzucenie z tablicy liczb powtarzajacych sie

0

Witam,

Mam dwie tablice, A={1,2,2,2,3,4,4,4,5,8,10}, B={2,2,4,4,4,4,10,16,20} z których muszę wyznaczyć liczbę jednokrotnych elementów należących zarówno do tablicy A i B - ma wyjść wynik 3 (bo są 3 liczby które wystepują w obu tablicach).
Na tą chwilę utworzyłem trzecią tabC[ ] jednak nie potrafię pozbyć się powtarzających się liczb z tej trzeciej tablicy.

Mój kod:

#include <stdio.h>
#include <stdlib.h>

using namespace std;

int main( int argc, char * argv[] )
{ int a, b, n, i, j;

int tabA[11]={1,2,2,2,3,4,4,4,5,8,10}, tabB[11]={2,2,4,4,4,4,10,16,20}, tabC[11];

for( a = 0; a < n; a++ )
{
    for( b = 0; b < n; b++ )
    {
        if( tabA[ a ] == tabB[ b ] )
        {
            tabC[i] = tabA[a];
            a++;
        }
    }
}

printf( "Elementy wspolne: %d\n", tabC[n] );
    system( "PAUSE" );
    return 0;
}

Proszę o pomoc.

3
  1. Po ludzku: wrzuć dane do set<> a potem sprawdź przeciecie zbiorów
  2. Na jana:
  • zrób jedną pętlę z dwoma indeksami
  • po porównaniu przesuń oba indeksy tak daleko żeby zmienila się liczba (tzn jeśli masz 1 1 1 2 to przesuwasz na 2)
1
  1. to ma być C czy C++, wygląda mi raczej na C więc using namespace std; jest niepotrzebne;
  2. za dużo zmiennych których nie używasz, wystarczą a i b do iteracji pętli, n do rozmiaru tablic, w dodatku powinieneś na początku do n przypisać 11, bo w obecnej formie nie wiem jak ten program będzie ci działać, oraz zmienna i do iterowania po tablicy tabC - oczywiście na początku powinieneś zmienną i wyzerować;
  3. powinieneś zmodyfikować warunek, po co zwiększasz wewnątrz warunku zmienną a? powinna być raczej zmienna i;
  4. powstanie ci tablica z takimi samymi elementami z obu tablic lecz powtarzającymi się tyle razy ile powtarzają się w obu tablicach, możesz jakoś tę tablicę przetworzyć albo prościej dodać warunek do ifa który zagwarantuje ci że elementy się nie powtórzą: if( tabA[ a ] == tabB[ b ] && tabC[i] != tabA[a]) - przy założeniu że tablicę tabC na początku wypełnisz wartościami niepowtarzającymi się w pozostałych tablicach.

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