Problem z użyciem funkcji strlen
Ostatnio zmodyfikowano 2016-12-30 00:32
kroliczysyn Temat założony przez niniejszego użytkownika |
Problem z użyciem funkcji strlen » 2016-12-29 23:47:54 Cześć! Mój program polega na tym, że chce pozmieniać w wyrazie podanym przez użytkownika łańcuchu znaków na losowe z wyjątkiem 2. i przedostatniej litery. Problem polega na tym, że nie wiem ile znaków będzie miał podany przez użytkownika wyraz, więc używam (a raczej chciałbym użyć) funkcji strlen, lecz nie wiem jak to zrobić. Poniżej wrzucam wklejkę z pastebina, pozdrawiam :)
No i problem z którym nie mogę sobie poradzić to kompilacja programu, nie wiem jak to naprawić.
http://pastebin.com/KfaHTK9j |
|
marcolo2307 |
» 2016-12-30 00:05:24 Wrzuć kod na forum. Próbujesz przypisać funkcji strlen wartość n. Aby pobrać wartość stringa użyj string.size() |
|
carlosmay |
» 2016-12-30 00:07:50 1. Kod wstawiaj na forum. #include <iostream> #include <cstdlib> #include <ctime> #include <cstring>
using namespace std;
int n; string wyraz;
char randomChar() { static char const letters[] = "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; return letters[ rand() %( sizeof( letters ) - 1 ) ]; }
int main() { cout << "Podaj swoj wyraz" << endl; cin >> wyraz; cout << "Zmiana znakow bez 2. i przedostatniej litery." << endl; strlen( wyraz ) = n; cout << "wyraz ma: " << n << " znakow." << endl; srand( time( NULL ) ); for( int i = 0; i < 1; ++i ) { cout << randomChar(); } for( int i = 2; i < n - 2; ++i ) { cout << randomChar(); } for( int i = n - 1; i < n; ++i ) { cout << randomChar(); } return 0; } 2. Zmienne globalne? Fuj. 3. - a co to za ustrojstwo? std::size_t word_len = wyraz.size(); http://en.cppreference.com/w/cpp/string/basic_string |
|
kroliczysyn Temat założony przez niniejszego użytkownika |
» 2016-12-30 00:32:50 Poprawię się na przyszłość :) teraz śmiga. dziękuję! :) |
|
« 1 » |