skupi967 Temat założony przez niniejszego użytkownika |
» 2020-06-12 21:05:28 Nie mam bo jest jeszcze Lucyfer. Mam cala mase rzeczy do roboty. Nie mam w co rak wlozyc. No coz. Myslisz ze zartuje ale to nie jest zart. |
|
DejaVu |
» 2020-06-12 21:15:30 Zajmij się ciekawszymi rzeczami niż nauka programowania, skoro świat Ci się kończy :P |
|
skupi967 Temat założony przez niniejszego użytkownika |
» 2020-06-12 21:28:02 To jest mi potrzebne. Drogi Adminie zobaczysz w mojej pracy do czego to bylo mi tak bardzo potrzebne. Obiecuje ze wspomne o was i o tym forum na koncu filmu:). Dzieki @pekfos za linki, to rzeczywiscie wyglada banalnie, sprobuje zrobic sam, jak cos nie pojdzie to wroce z prosba o pomoc. |
|
skupi967 Temat założony przez niniejszego użytkownika |
» 2020-06-12 22:32:57 Dziala dobrze tylko jesli plik words.txt wyglada tak ace, asdasda . Wtedy robi wszystko ok ale jak juz dodam do niego wiecej rzeczy i wyglada on tak ace, akjskjdakjsda bull, asdasdsad kupa, asdasda asdasda
To juz program wyswietla glupoty, pomimo ze i ACE jak i BULL maja wartosc 11 #include <iostream> #include <string> #include <map> #include <cmath> #include <fstream> #include <stdio.h>
using namespace std;
int main() { map < char, int > pythagorean; pythagorean[ 'a' ] = 7; pythagorean[ 'b' ] = 8; pythagorean[ 'c' ] = 1; pythagorean[ 'd' ] = 2; pythagorean[ 'e' ] = 3; pythagorean[ 'f' ] = 4; pythagorean[ 'g' ] = 5; pythagorean[ 'h' ] = 6; pythagorean[ 'i' ] = 7; pythagorean[ 'j' ] = 8; pythagorean[ 'k' ] = 9; pythagorean[ 'l' ] = 1; pythagorean[ 'm' ] = 2; pythagorean[ 'n' ] = 3; pythagorean[ 'o' ] = 4; pythagorean[ 'p' ] = 5; pythagorean[ 'q' ] = 6; pythagorean[ 'r' ] = 7; pythagorean[ 's' ] = 8; pythagorean[ 't' ] = 9; pythagorean[ 'u' ] = 1; pythagorean[ 'v' ] = 2; pythagorean[ 'w' ] = 3; pythagorean[ 'x' ] = 4; pythagorean[ 'y' ] = 5; pythagorean[ 'z' ] = 6; ifstream plik_wej( "words.txt" ); ofstream plik_wyj( "WYNIKI.txt" ); string slowo; int ilosc = 0, cnt = 0, test = 0; while( plik_wej >> slowo ) { int sumaj = 0; for( int i = 0; slowo[ i ]; i++ ) { cnt++; if( slowo[ i ] == ',' ) { test =( cnt - 1 ); } } slowo.resize( test ); for( char znak: slowo ) { sumaj += pythagorean[ znak ]; } if( sumaj == 11 ) { cout << slowo << "(" << sumaj << ")" << '\n' << "Pythagorean: " << '\t'; plik_wyj << "Pythagorean: " << '\t' << slowo << " = " << sumaj << endl; ilosc++; } } cout << "\n\n Laczna ilosc znalezionych slow: " << ilosc << '\n'; plik_wyj << "\n\n Laczna ilosc znalezionych slow: " << ilosc << '\n'; cout << test << endl; cout << "After: \"" << slowo << "\"\n"; return 0; }
|
|
pekfos |
» 2020-06-12 22:51:18 Dlaczego nie użyłeś find() i getline()? |
|
skupi967 Temat założony przez niniejszego użytkownika |
» 2020-06-12 22:55:27 Nie wiem, chcialem zrobic po swojemu. Nie znam sie za bardzo. Moim sposobem sie nie da? |
|
pekfos |
» 2020-06-12 23:07:06 getline() musisz użyć, żeby mieć co ignorować (>> wymaga innych modyfikacji), a find() należałoby zaimplementować poprawnie. Twoje nie działa poprawnie i nie obsługujesz przypadku braku przecinka. |
|
skupi967 Temat założony przez niniejszego użytkownika |
» 2020-06-12 23:11:20 Zmienilem na getline #include <iostream> #include <string> #include <map> #include <cmath> #include <fstream> #include <stdio.h>
using namespace std;
int main() { map < char, int > pythagorean; pythagorean[ 'a' ] = 7; pythagorean[ 'b' ] = 8; pythagorean[ 'c' ] = 1; pythagorean[ 'd' ] = 2; pythagorean[ 'e' ] = 3; pythagorean[ 'f' ] = 4; pythagorean[ 'g' ] = 5; pythagorean[ 'h' ] = 6; pythagorean[ 'i' ] = 7; pythagorean[ 'j' ] = 8; pythagorean[ 'k' ] = 9; pythagorean[ 'l' ] = 1; pythagorean[ 'm' ] = 2; pythagorean[ 'n' ] = 3; pythagorean[ 'o' ] = 4; pythagorean[ 'p' ] = 5; pythagorean[ 'q' ] = 6; pythagorean[ 'r' ] = 7; pythagorean[ 's' ] = 8; pythagorean[ 't' ] = 9; pythagorean[ 'u' ] = 1; pythagorean[ 'v' ] = 2; pythagorean[ 'w' ] = 3; pythagorean[ 'x' ] = 4; pythagorean[ 'y' ] = 5; pythagorean[ 'z' ] = 6; ifstream plik_wej( "words.txt" ); ofstream plik_wyj( "WYNIKI.txt" ); string slowo; int ilosc = 0, cnt = 0, test = 0; while( getline( plik_wej, slowo ) ) { int sumaj = 0; for( int i = 0; slowo[ i ]; i++ ) { cnt++; if( slowo[ i ] == ',' ) { test =( cnt - 1 ); } } slowo.resize( test ); for( char znak: slowo ) { sumaj += pythagorean[ znak ]; } if( sumaj == 11 ) { cout << slowo << "(" << sumaj << ")" << '\n' << "Pythagorean: " << '\t'; plik_wyj << "Pythagorean: " << '\t' << slowo << " = " << sumaj << endl; ilosc++; } } cout << "\n\n Laczna ilosc znalezionych slow: " << ilosc << '\n'; plik_wyj << "\n\n Laczna ilosc znalezionych slow: " << ilosc << '\n'; cout << test << endl; cout << "After: \"" << slowo << "\"\n"; return 0; }
No ale po co mam implementowac find, nawet jesli znajdzie przecinek to nie bede wiedzial w ktorym momencie uciac tekst |
|
1 « 2 » 3 |