Nie mam pomysłu na wyświetlenie stringa w taki sposób, żeby litery które wchodzą w skład stringa były pomieszane.
Np. słowo tajemnica, żeby było wypisane na ekranie.
Skorzystałem, z jednego z plików który mam z losowania bez powtórzeń, i chciałem zastosować to do stringa, ale też nic nie wychodzi. Na samych for-ach wyświetlało mi litery wymieszane ale powtarzały się.
Obecny kod wygląda tak:
#include<iostream>
#include<string>
#include<cmath>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
srand(time(NULL));
string tekst="tajemnica";
int ile_znakow;
ile_znakow=tekst.length();
bool powtorzenie;
do{
for(int i=0; i<ile_znakow; i++){
tekst[i]=(char)(rand()%ile_znakow);
for(int j=0; j<i; j++){
if(tekst[j]==tekst[i]){
powtorzenie=true;
}
}
}}
while(powtorzenie);
for(int i=0; i<ile_znakow; i++){
cout<<tekst[i];
}
return 0;
}
Mógłby ktoś ewentualnie powiedzieć mi jak wymieszać zawartość tablicy tekst? Coś słyszałem o jakimś random shufle czy coś takiego, nie bardzo wiem jak to zastosować.