Ich habe ein String-Array, das 20 Wörter enthält. Ich habe eine Funktion erstellt, die 1 zufälliges Wort aus dem Array nimmt. Aber ich möchte wissen, wie ich dieses Wort aus Array zurückgeben kann. Im Moment benutze ich die Void-Funktion, ich habe Char-Typ verwendet, aber es funktioniert nicht. Kleine Hilfe hier? Brauchen Sie, Wort Ratespiel zu machen.Rückgabewert von String-Funktion
Code:
#include <iostream>
#include <time.h>
#include <cstdlib>
#include <stdlib.h>
#include <algorithm>///lai izmantotu random shuffle funckiju
#include <string>
using namespace std;
void random(string names[]);
int main() {
char a;
string names[] = {"vergs", "rokas", "metrs", "zebra", "uguns", "tiesa", "bumba",
"kakls", "kalns", "skola", "siers", "svari", "lelle", "cimdi",
"saule", "parks", "svece", "diegs", "migla", "virve"};
random(names);
cout<<"VARDU MINESANAS SPELE"<<endl;
cin>>a;
return 0;
}
void random(string names[]){
int randNum;
for (int i = 0; i < 20; i++) { /// makes this program iterate 20 times; giving you 20 random names.
srand(time(NULL)); /// seed for the random number generator.
randNum = rand() % 20 + 1; /// gets a random number between 1, and 20.
names[i] = names[randNum];
}
//for (int i = 0; i < 1; i++) {
//cout << names[i] << endl; /// outputs one name.
//}
}
Ich sehe nicht, wie der Code, den Sie geschrieben haben, sich auf das bezieht, was Sie fragen (was nicht ganz klar ist, TBH). – StoryTeller
Verwenden Sie entweder einen 'Vektor' oder teilen Sie der Funktion mit, wie viele Elemente sich im Array befinden. Codiere 20 nicht fest in die Funktion. Das ist tangierend zu Ihrer Frage, aber relevante allgemeine Ratschläge. Stellen Sie sicher, dass Funktionen wissen, wie groß ein Array ist, mit dem sie zu tun haben. –
Wie wäre es mit einer Saite? 'std :: string random (std :: string names []);' – Galik