algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Algorytm N (naiwny) - Implementacja w C/C++
Ocena użytkownikóww: *****  / 6
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 25 lipca 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

AlgorytmN.c:
//www.algorytm.org
//Algorytm Naiwny - wyszukiwanie wzorca
//(c)2001 Tomasz Lubinski

#include <stdio.h>
#include <string.h>
#include <conio.h>

/* Maksymalna dlugosc tekstu/wzorca */
#define MAX_LEN 65535

int main(void)
{
    /* Zmienne */
    char tekst[MAX_LEN];
    char wzorzec[MAX_LEN];    
    int m,n,i,j;

    /* Pobranie danych od uzytkownika */
    printf("Podaj tekst\n");
    scanf("%s", tekst);
    printf("Podaj wzorzec\n");
    scanf("%s", wzorzec);

    /* Oblicz dlugosci podanych tekstow i wzorca */   
    n = strlen(tekst);
    m = strlen(wzorzec);
    
    /* Algorytm N */
    printf("Indeksy wystapien wzorca w tekscie\n");
    i=0;
    while (i<=n-m)
    {
	    j=0;
   	    while ((j<m)&&(wzorzec[j]==tekst[i+j])) j++;
        if (j==m) printf("%d\n", i+1);
	    i++;
    }
    
    /* Czekaj na dowolny klawisz przed koncem programu */
    getch();
    return 0;
}

//---------------------------------------------------------------------------
Dodaj komentarz