Gość Opublikowano 9 Marca 2005 Zgłoś Opublikowano 9 Marca 2005 ok..nie wiem czy zostane zjechany czy nie ale trudno..sprawa jest dość trudna..otóż na Algorytmy i struktury danych mamy przygotowac program w stylu CTRL-F..po prostu wyszukiwarka wyrazów..nie byłoby to może trudne gdyby zostało NALEŻYCIE wytłumaczone..a koleś który to prowadzi tak namącił, 5 razy poprawiał na tablicy (aha taka informacja - przedmiot ten "odbywa" sie na tablicy i jest to w stylu Maszyny Turinga - czyli "blokowo")...i teraz kazał nam przygotować algorytm i napisać program w C (nieważne że C prawie nie mieliśmy)...troszke w C umiem ale nie aż tak.. czy są jakieś stronki z których można by takie coś ściągnać...wiem że może nieładnie tak itp. no ale co zrobić?? coś trzeba mieć a sam NA PEWNO nie wykombinuje...a może ktoś już pisał i by tu wkleił?? thx Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
The_Structor Opublikowano 9 Marca 2005 Zgłoś Opublikowano 9 Marca 2005 a w czym masz te wyrazy wyszukiwac ? ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość lukk Opublikowano 9 Marca 2005 Zgłoś Opublikowano 9 Marca 2005 a w czym masz te wyrazy wyszukiwac ? ;) 1319614[/snapback] hehe w sumie dobre pytanie..chyba z wczesniej wprowadzonego jakiegos tekstu...kurde nie wiem...serio koles jest juz starszawy i tak zakrecony ze ja nie wiem jak sobie poradze...no ale przyjmijmy ze we wczesniej wprowadzonym przez uzytkownika tekscie.. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 najproscie to sprawdzac tekst po jednej lini, po znaku, po spacji (ew od poczatku lini) zapiujesz do jakiegos bufora poszczegolne literki, jak napotkasz spacje to porownujesz zawartosc bufora z zadanym kryterium (scrcmp() np). jak sie zgadza to cos robisz z ta informacja i zerujesz bufor, jak sie nie zgadza to olewasz, zerujesz bufor i jedziesz do nastepnej spacji Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość lukk Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 najproscie to sprawdzac tekst po jednej lini, po znaku, po spacji (ew od poczatku lini) zapiujesz do jakiegos bufora poszczegolne literki, jak napotkasz spacje to porownujesz zawartosc bufora z zadanym kryterium (scrcmp() np). jak sie zgadza to cos robisz z ta informacja i zerujesz bufor, jak sie nie zgadza to olewasz, zerujesz bufor i jedziesz do nastepnej spacji 1319870[/snapback] heheheh..wiesz to ja tez tak myslalem..tylko teraz to zrobic w C??? jak juz pisalem nie mam az takich zdolnosci w C..mialem C bardoz malutko (w sumie podstawy) , a tu nagle taki wyjechany program...NA LOGIKE jest on latwy (tak jak powiedziales)..tylko jak go stworzyc?? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
yasin Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 pewnie trzeba zaczac cos pisac, a nie smecic i czekac na gotowca Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
KrzychuG Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 Nie prosciej jest uzyc funkcji 'strstr', ktora wyszukuje ciag znakow w innym ciagu znakow? Jesli funkcja zwroci 0, szukanego ciagu znakow nie ma. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
The_Structor Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 wydaje mi sie ze mozesz po prostu przepisac tekst do jakiegos stringa ;] a pozniej wyszukiwac odpowidnia funkcja, tlyko nie wiem czy string.h jest w ANSI C Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 (edytowane) heheheh..wiesz to ja tez tak myslalem..tylko teraz to zrobic w C??? jak juz pisalem nie mam az takich zdolnosci w C..mialem C bardoz malutko (w sumie podstawy) , a tu nagle taki wyjechany program...NA LOGIKE jest on latwy (tak jak powiedziales)..tylko jak go stworzyc?? 1319886[/snapback] zrobmy tak, ty sprobujesz go napisac (postarasz sie) jak utkniesz w jakims trudniejszym momencie to pomozemy - tak nauczysz sie wiecej - umowa? co do strstr - fakt - nie moglem sobie przypomniec wiec podalem jedna rzykladowa mozliwosc ;) Edytowane 10 Marca 2005 przez ayem Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 Nie sadze aby prowadzacemu chodzilo o wyszukiwanie za pomoca strstr.. tez mialem AiSD i byl omawiany na jednym wykladzie jakis tam algorytm przeszukiwania tekstu, ale niestety nie pamietam ani nazwy ani jak on dzialal. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 mozna napisac wlasna procedure sprawdzajaca, ale to bedzie sie roznilo tylko tym ze zamiast feragmentu kodu strstr(bla bla), bedzie kawlek jadacy znak po znaku wzor i bufor - filozofia ta sama, wiec nie wiem czy bylby sens, ale kto wieco prowadzacy myslal Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
yasin Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 Nie sadze aby prowadzacemu chodzilo o wyszukiwanie za pomoca strstr.. tez mialem AiSD i byl omawiany na jednym wykladzie jakis tam algorytm przeszukiwania tekstu, ale niestety nie pamietam ani nazwy ani jak on dzialal. 1320524[/snapback] jest ich troche, na przyklad Naive String Search, czy tez Turing Machine String Search, zalezy jaka sie chce osiagnac zlozonosc czasowa algorytmu, sama implementacja w C jezeli zna sie algorytm jest prosta, chyba ze wykladowca wymaga jakiegos wyszukanego interfejsu Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość lukk Opublikowano 10 Marca 2005 Zgłoś Opublikowano 10 Marca 2005 zrobmy tak, ty sprobujesz go napisac (postarasz sie) jak utkniesz w jakims trudniejszym momencie to pomozemy - tak nauczysz sie wiecej - umowa? co do strstr - fakt - nie moglem sobie przypomniec wiec podalem jedna rzykladowa mozliwosc ;) 1320447[/snapback] no postaram sie :huh: ale to dopiero po weekendzie bo jutro wyjezdzam..wiec odezwe sie po weekendzie Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 19 Marca 2005 Zgłoś Opublikowano 19 Marca 2005 (edytowane) Zrobiłem raz takiego gniota co wyszukuje podany text z textu wpisanego wcześniej przez urzytownika, wklejam jego kod może ci się przyda. Ale zaznaczam - jest to gniot, ale działa. Kompiluje sie w Borland 3.1/4.x/5.x , lub tam gdzie jest pełna obsługa biblioteki. conio.h #include <iostream>#include <conio.h>int szukanie(char * tekst, char *zdanie);void zaznaczanie_wyrazu(unsigned int ile , char *tekst, int dlug);//------------------------------------------------------------------------------int main(){ cout << "podaj tekst do przeszukania" << endl; char tekst[100] = {0}; cin.getline(tekst , 100); cout << "podaj wyraz do wyszukania czy taki wyraz jest w tekscie" << endl; char wyraz[100] = {0}; cin.getline(wyraz ,100); int miejsce=szukanie(tekst,wyraz); if(miejsce) { cout << "text istnieje i zaczyna sie od indexu "<< miejsce << endl; zaznaczanie_wyrazu(miejsce , tekst , strlen(wyraz)); } else cout << "taki text nie istnieje"; getch(); return 0;}//------------------------------------------------------------------------------int szukanie(char* tekst,char* wyraz){ unsigned int zmienna=0, j=0, miejsce=0; for (unsigned int i = 0; i < strlen(tekst);i++) { if(tekst[i] == wyraz[j]) { miejsce++; zmienna++; j++; if (zmienna >= strlen(wyraz)) return miejsce-strlen(wyraz); } else { miejsce++; zmienna = 0; j = 0; } } return 0;}//------------------------------------------------------------------------------void zaznaczanie_wyrazu(unsigned int ile , char*tekst, int dlug){ for(unsigned int i = 0; i < strlen(tekst);i++) { if (i == ile) { textcolor(BLACK); textbackground(WHITE); } else if (i > ile+dlug-1) { textcolor(LIGHTGRAY); textbackground(BLACK); } cprintf("%c" , tekst[i]); }} Edytowane 19 Marca 2005 przez razor1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...