wirusomaniak Temat założony przez niniejszego użytkownika |
Błąd w programie wyszukującym frazy w zdaniu » 2019-01-07 23:00:50 #include <iostream>
using namespace std;
void def_wyrazu(string, string*); int ile_wyrazowf(string); void wysz_wyrazow(string, string, string*, string*, short, short);
int main() { //mozna zaprogramowac pod plik fstream itd. string zdanie="Siema jestem Dawid i chcialbym zostac programista mysle ze to idelany zawod dla mnie"; int ile_wyrazow; ile_wyrazow=ile_wyrazowf(zdanie); string wyrazy[ile_wyrazow]; def_wyrazu(zdanie, wyrazy);//definiacja zmiennej wyrazy o ustalonej ilosci
cout <<"Wprowadz fraze ktora chcesz znalezc\n:"; string szuk_fraza; getline(cin,szuk_fraza);
int ile_wyrazow2; ile_wyrazow2=ile_wyrazowf(szuk_fraza); string wyrazy2[ile_wyrazow2]; def_wyrazu(szuk_fraza, wyrazy2);
//wysz_wyrazow(zdanie, szuk_fraza, wyrazy, wyrazy2, ile_wyrazow, ile_wyrazow2);
return 0; }
int ile_wyrazow(string zdanie) { int dlugosc=zdanie.length();//sprawdzenie dlugosci
int ile_wyrazow=0;//bedzie sluzylo do okreslenia wielkosci definiowanej tablicy wyrazow for(int i = 0; i<dlugosc; i++)//ustalenie ile wyrazow ma tekst { if(zdanie==' ') ile_wyrazow++; } ile_wyrazow++;
return ile_wyrazow; }
void def_wyrazu(string zdanie, string * wyrazy) { int dlugosc=zdanie.length(); int p=0; for(int i=0; i<dlugosc; i++)//zapisywanie wyrazow z tekstu do tablicy wyrazow { if(zdanie==' ') { i++; p++; }
wyrazy[p]+=zdanie; } }
void wysz_wyrazow(string zdanie, string szuk_fraza, string*wyrazy, string*wyrazy2, short ile_wyrazow, short ile_wyrazow2) { string znalez_fraza; int dlugosc=zdanie.length(); int dlugosc2=szuk_fraza.length(); int p3=0; int i=0; bool puste =true; while( p3<ile_wyrazow2) { if(wyrazy2[p3]==wyrazy)//jesli szukany wyraz pasuje { p3++;//sprawdz nastepny szukany wyraz znalez_fraza += wyrazy;//dopisz go do znalezionych znalez_fraza += ' ';//wstaw spacje pomiedzy znalezionymi i=-1;//bo i++ poxniej;//wyzeruj i czyli zacznij od 0 wyrazu puste=false; } if(i==(ile_wyrazow-1))//co jesli szukanego wyrazu nie ma w tekscie { p3++;//przejdz do nastepnego wyrazu i=-1;//bo i++ poxniej;//wyzeruj i czyli zacznij od 0 wyrazu }
i++;//sprawdx nastepny wyraz tekstu
} if(puste ==true)//jesli nie znaleziono w tekscie zadnego z podnaych wyrazow cout << "Nie znaleziono w tekscie zadnego z podanych wyrazow"<<endl; else cout<<znalez_fraza<<endl;//pokaz znalez fraze }
=== Build: Debug in eksperyment (compiler: GNU GCC Compiler) ===| C:\Users\Asus\Desktop\programowanie\c++\trening\eksperyment\main.cpp||In function 'void wysz_wyrazow(std::__cxx11::string, std::__cxx11::string, std::__cxx11::string*, std::__cxx11::string*, short int, short int)':| C:\Users\Asus\Desktop\programowanie\c++\trening\eksperyment\main.cpp|66|warning: unused variable 'dlugosc' [-Wunused-variable]| C:\Users\Asus\Desktop\programowanie\c++\trening\eksperyment\main.cpp|67|warning: unused variable 'dlugosc2' [-Wunused-variable]| obj\Debug\main.o||In function `main':| C:\Users\Asus\Desktop\programowanie\c++\trening\eksperyment\main.cpp|14|undefined reference to `ile_wyrazowf(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'| C:\Users\Asus\Desktop\programowanie\c++\trening\eksperyment\main.cpp|23|undefined reference to `ile_wyrazowf(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'| ||error: ld returned 1 exit status| ||=== Build failed: 3 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|
nie rozumiem czy może mi ktoś wytłumaczyć w czym błąd?
|