Czy napis 2 zawiera się w pierwszym.? (tablice)
Ostatnio zmodyfikowano 2013-01-20 23:25
black.exige Temat założony przez niniejszego użytkownika |
Czy napis 2 zawiera się w pierwszym.? (tablice) » 2013-01-20 23:00:07 Witam, jestem tak jakby początkujący i mam problem. Trudzę się z programem w C, w ktorym chodzi o porownywanie napisów.. Czy 2 zawiera sie w pierwszym.. (wyrazy w tablicy). nie wchodza w grę zadne gotowe funkcje, trzeba od podstaw napisać uzywając prostych operatorów. ( tu rekurencję zrobiłem) Gdyby podana była długość 2 wyrazu zrobiłbym to tak ..: int zawiera( const char napis[], const char szukany[] ) { int dalej; if( * napis == 0 ) { return 0; } if(( napis[ 0 ] == szukany[ 0 ] ) &&( napis[ 1 ] == szukany[ 1 ] ) ) { return 1; } dalej = zawiera( napis + 1, szukany ); return dalej; } int main() { int wynik; char napis[] = "dfefedatrtree"; char szukany[] = "da"; wynik = zawiera( napis, szukany ); printf( "= %d\n", wynik ); system( "pause" ); return 0; }
Wpisane słowo " da" wykrywane jest w 1 napisie bez wględu co jest przed i po .. Jednak nie mam pojęcia jak zrobić żeby identycznie działało , tyle ze dla nieskonczonej ilosci liter w słowie.. czyli zeby to się zapętlało.. nie mam pojęcia, trudze sie z tym i mi nie wychodzi.. Gdyby ktoś podsunął pomysł byłbym wdzieczny :) ktoś polecił mi bym zrobił 2 petle , jedna biegnaca po 1 tablicy a druga po drugiej , zrobilem tak, ale nie wiem czemu znow nie dziala , dziekuje za ewenatualną pomoc w tym. for( i = 0; i < rozmiar; i++ ) for( j = 0; j < rozmiars; j++ ) { if( napis[ i ] == szukany[ j ] ) { return 1; } else { return 0; } }
|
|
DejaVu |
» 2013-01-20 23:25:46 Zaimplementuj jakiś znany algorytm wyszukiwania tekstu i problem będziesz miał z głowy. |
|
« 1 » |