Sprawdzanie ile jednakowych znakow znajduje sie w 2 tablicach.

0

Witam. Mógłby mi ktoś napisać w jaki sposób stworzyć takie cudo w języku C? Otóż:

Mamy 2 tablice znakowe:

char tab1[20]= "Ala ma kota";
char tab2[20]= "altop"; 

w jaki sposób wypełnić trzecią tablicę(typu int), tak aby poszczególne jej komórki przechowywały liczbę wystąpień znaków z tablicy tab1 w tablicy tab2. W przypadku jaki jest powyżej powinno przechować następująco:
[3 1 1 1 0]. Bardzo proszę o pomoc.

0

Potrzebne będą ci:

  • warunek if
  • dwie pętle for
    Przechodzisz pętlą (for) po słowie z drugiej tablicy i dla każdej literki (for) szukasz odpowiedniej literki (if) w pierwszej tablicy
0

Jeżeli w drugiej tablicy litery mogą się powtarzać, lub pierwszy ciąg jest długi i zależy Ci na wydajności, to na początku przeleć przez pierwszy zliczając wszystkie literki, a potem przeleć po drugiej przyporządkowując literkom wynik zliczenia.

0

No i zrobiłem coś takiego:

	

for(i=0;i<strlen(tab1);i++)
		{
			for(k=0;k<strlen(tab2);k++)
				if(tab1[i]==tab2[i])
				{
					l++;
				}
				wynik[i]=l;
		} 

Pewnie nie zrozumiałem co miałeś na myśli @Shalom, a raczej na pewno nie zrozumiałem :) Więc proszę napisz co robię źle.

0

if(tab1[i]==tab2[i]) i co ci daje takie porównanie w pętli która iteruje po k? Używasz gdzieś tego k?

0

nie nie używam tego k nigdzie. prosze o wyrozumiałość jestem zdecydowanie amatorem :(

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