Dane sa dwa napisy reprezentowane jako ciagi znakow ASCIIZ w tablicazch, przyczym pierwszy(slowo) jest krotszy niz drugi(tekst).
1)napisz procedure w c wyznaczajaca ilosc wystapien slowa w tekscie
2)oblicz zlzonosc obliczeniowa pesymistyczna i optymistyczna zalezna od wuch parametrow m-dlugosc slowa i n-dluosc tekstu.
[c] liczenie wyrazow
-
- Użytkownik
- Posty: 941
- Rejestracja: 17 gru 2007, o 21:48
- Płeć: Mężczyzna
- Lokalizacja: Kingdom Hearts
- Podziękował: 6 razy
- Pomógł: 222 razy
[c] liczenie wyrazow
1) jak znajdziesz w tekście pierwszą literę słowa, to w forze od 1 do długości słowa sprawdzasz, czy się litery pokrywają. Jak tak, ilość++
w pseudokodzie
tekst w char tekst[], słowo w slowo[]
w pseudokodzie
tekst w char tekst[], słowo w slowo[]
Kod: Zaznacz cały
bool ok=true;
int il=0;
for(int i=0 to dl_tekstu)
{
bool ok=true,sp=true;
if(tekst[i]==slowo[0])
{
if(i>0 && tekst[i-1]!=) sp=false;//pamiętaj, że znak poprzedzający słowo to znak interpunkcyjny, ja tylko uwzględniłem spację, chcesz to sobie wyifuj inne możliwości :)
for(int j=1 to dl_slowa)
if(slowo[j]!=tekst[i+j])
ok=false;
if(ok&&sp) il++;
}
}