nowawieza Temat założony przez niniejszego użytkownika |
» 2017-03-05 01:55:44 No to rozumiem ale co jeśli wielkość tablicy nadaje mi użytkownik. Po to własnie pytam użytkownika o to ile napisów chce wpisać.
No ale w zadaniu w sumie nie może być więcej niż 10 tych napisów :D
Ale też chyba nie powinienem deklarować tablicy na 10 napisów jeśli użytkownik wpisuje tylko 4 napisy.
Więc chyba wszystko się sprowadza do tego, że muszę to jeszcze jakoś zrobić inaczej :D |
|
karambaHZP |
» 2017-03-05 01:56:52 |
|
maly7 |
» 2017-03-05 01:59:42 Wydaje mi się, że po to w zadaniu jest określona ilość (<10), żebyś mógł właśnie utworzyć tablicę 9 elementową. Jeśli nie chcesz (nie miałeś jeszcze) tablicy dynamicznej lub vectora (czy czegoś podobnego) to inaczej tego raczej nie zrobisz. |
|
karambaHZP |
» 2017-03-05 02:06:40 Prosty przykład użycia narzędzi od C++11: #include <iostream> #include <string> #include <algorithm> #include <vector>
int main() { std::vector < std::string > words; std::size_t how_many_words; std::cin >> how_many_words; for( std::size_t i { }; i < how_many_words; ++i ) { std::string tmp; std::cin >> tmp; words.push_back( tmp ); } std::sort( words.begin(), words.end(), []( const auto & lhs, const auto & rhs ) { return lhs < rhs; } ); for( auto const & el: words ) { std::cout << el << '\n'; } std::cout << '\n'; } |
|
nowawieza Temat założony przez niniejszego użytkownika |
» 2017-03-05 02:08:11 Ok, to zrobię tego const int. #include <iostream> #include <string> #include <math.h> #include <cstdlib> #include <ctime> #include <ctype.h> using namespace std;
int ilemalych( string napis ) { int licznik = 0; for( int i = 0; i < napis.length(); i++ ) { if( islower( napis[ i ] ) ) { licznik++; } } return licznik; }
int main() { int ilosc; do { const int rozmiar = 10; string tab[ rozmiar ]; cout << "Podaj ilosc napisow : \n "; cin >> ilosc; } while( ilosc > 10 && ilosc < 0 ); for( int i = 0; i < ilosc; i++ ) { cout << "Podaj napis : \n "; cin >> tab[ i ]; } cout << "Przed sortowaniem : \n "; for( int i = 0; i < ilosc; i++ ) cout << tab[ i ] << " "; cout << endl; ilemalych( tab ); cout << "Po sortowaniu : \n "; for( int i = 0; i < ilosc; i++ ) cout << tab[ i ] << " "; cout << endl; }
Dostaję błąd, że tab[] nie jest zadeklarowane. Właśnie z tym też zawsze mam problem jeśli chodzi o tablicę napisów. W C chyba deklarowałem najpierw to jak: A dzisiaj w internecie widziałem, że w C++ robi się to za pomocą A teraz mam błąd i nie wiem co myśleć. |
|
karambaHZP |
» 2017-03-05 02:09:46 #include <cmath> #include <cctype> jeśli piszemy w C++. Funkcję ilemalych poprawiłem, bo jest błędna. Zerknij co tam zrobiłem. Pomiń std::vector i dodaj tam int ilemalych( const std::string tab[], std::size_t size )
; |
|
maly7 |
» 2017-03-05 02:11:41 char i string to różne typy zmiennych, i w C i w C++ możesz robić jak chcesz. String to jest ciąg charów. Ty potrzebujesz tutaj string. Wyskakuje Ci, że tab[] nie jest zdefiniowane bo nie jest. Daj gdzieś na początku maina string tab[ 9 ]; Tzn masz coś takiego w pętli do, ale nie jest ona widoczna poza tą pętlą, dlatego musisz ją dać przed, żeby była dostępna w całym mainie. nowawieza, zadam Ci takie ważne pytanie :D Ty chcesz się nauczyć czy zdać przedmiot? Jeśli chcesz się nauczyć to wróć do poprzednich lekcji (bo na pewno miałeś tablice jako argument) i poćwicz. Jakieś proste funkcje, żeby zrozumieć jak to działa :D Taka rada. |
|
nowawieza Temat założony przez niniejszego użytkownika |
» 2017-03-05 02:12:42 No karamba ja wiem, że Ciebie rozrywa jak widzisz moje próby zapisu :D Ale to są początki i ja nie chcę wyprzedzać toku nauczania studiów :D
Jeszcze nie umiem zbyt dobrze robić funkcji i zarządzać tablicami, a co dopiero wchodzić w wektory itd. :D
|
|
1 2 « 3 » 4 5 6 |