j'essaie d'avoir un tableau qui contient 5 entiers (0,1,2,3,4) appelé questionNumber le questionNumber est censé finir avec 4 donc j'essaie de faire une fonction pour appeler aléatoirement les nombres 0-3 et passer de l'un à l'autre (ajouter 1 au numéro précédent) jusqu'à ce qu'ils atteignent 4. Comment cela serait-il mis en œuvre? merci beaucoupchoisir des éléments de tableau qui contient des entiers
Répondre
Eh bien, vous pouvez utiliser arc4random()% x; pour obtenir un nombre aléatoire de 0 à x-1. Donc, vous voulez un nombre aléatoire entre 0-3 donc utilisez arc4random()% 4;
Puis stocker cette valeur aléatoire dans un int et l'utiliser pour incrémenter. Par exemple
int currentNum = -1;
[self incrementNum];
vide incrementNum() {
if (currentNum == -1)
currentNum = [self getRandomNumber];
else if (currentNum < 5)
currentNum++;
}
int getRandomNumber() {
return arc4random() % 4;
}
EDIT ::
De la lecture de ce que vous avez dit ci-dessus, je pense que j'ai mal compris. Voulez-vous ce tableau à trier au hasard pour que les 4 questions pourraient sortir du tableau pour tels que: 2,4,1,3
Si oui, alors vous voulez quelque chose comme:
// QuestionArray [] contient les questions de 0-4 // NewQuestionArray [] contiendra les nouvelles questions classées aléatoirement // Si première boucle, alors cette question ne sera pas apparue avant // Si sur i> = 1 alors boucle sur la précédente nombres pour voir si cette question est apparue, si elle l'a stockée alors incrémenter i int i = 0;
while (i < 5) {
int newNum = [self getRandomNumber];
if (i == 0)
{
NewQuestionArray[i] = QuestionArray[newNum];
i++;
}
else
{
BOOL repeatNum = FALSE;
for (int p = 0; p < i; p++)
{
if (newNum == NewQuestionArray[i])
{
repeatNum = TRUE;
}
}
if (!repeatNum)
{
NewQuestionArray[i] = QuestionArray[newNum];
i++;
}
}
}
code peut-être pas grand mais devrait vous donner une bonne compréhension. Je n'ai pas expliqué le code car je n'ai pas vraiment inclus quelque chose qui ne soit pas basique. Mais je peux l'expliquer mieux si tu le veux.
Je reçois l'erreur suivante lorsque j'essaie d'utiliser la dernière modification que vous avez fournie. Il déclare "opérandes invalides à binaire ==" donc je ne sais pas quoi utiliser maintenant? –
bien je suppose que vous voudriez if (QuestionArray [newNum] == NewQuestionArray [i]) – user449710
Eh bien cela dépend quel type votre QuestionArray [] utilise. S'il contient une chaîne alors je suppose que vous voudriez: if ([[QuestionArray objectAtIndex: newNum] isEqualTo: [NewQuestionArray objectAtIndex: i]]) – user449710
- 1. Comment choisir au hasard des éléments d'un tableau?
- 2. Plus de manière concise de vérifier si un tableau ne contient que des nombres (entiers)
- 3. Remplir le tableau avec des entiers consécutifs
- 4. comment supprimer des éléments de tableau?
- 5. C# LINQ liste contient des éléments similaires
- 6. Comment puis-je savoir si un tableau numpy contient des entiers?
- 7. partition des entiers
- 8. comment vérifier chaque éléments de tableau de chaînes contient des données ou non en C#
- 9. jQuery Le tableau Javascript 'contient' des fonctionnalités?
- 10. Trouver Tableau de dupliquer des éléments
- 11. Impression des éléments d'un tableau
- 12. comment multiplier des nombres entiers de valeurs dans un tableau?
- 13. Localiser du texte qui contient des liens
- 14. Tri un tuple qui contient des listes
- 15. Interroger des éléments de tableau avec Mongo
- 16. Comparer des éléments de tableau en C++
- 17. Associer des éléments de tableau à ruby
- 18. Puis-je choisir certains (pas tous) des éléments dans un tableau et mélangez-le en PHP?
- 19. Liste des éléments de tableau séparés par des virgules
- 20. Regex qui ne contient que des chiffres et des caractères
- 21. tableau de tableau sort_by avec des éléments nuls (ruby)
- 22. Liste des entiers en chaîne (tableau d'octets) - python
- 23. JavaScript - Comment faire un tableau qui contient des objets par référence?
- 24. IQueryable contient l'un des tableaux de chaînes
- 25. Comment UPDATE et SUPPRIMER des éléments de chaîne et des éléments de dictionnaire entiers à partir d'une plist
- 26. javascript supprimer le tableau des éléments
- 27. Appel d'une fonction si une chaîne contient des éléments dans un tableau
- 28. PHP - éléments preg_replace entre parenthèses avec des éléments du tableau
- 29. Comment faire des éléments de liste dans le tableau javascript
- 30. Galerie AndroidView qui contient des vues défilables, par ex. ListView
Je n'ai pas compris la question. Vous dites des nombres aléatoires et juste après vous dites que vous devriez ajouter 1 au nombre précédent ... Ce n'est plus aléatoire. Je vois aussi qu'il n'est pas directement lié à l'iPhone - c'est plus susceptible d'être une question d'algorithme, n'est-ce pas? De toute façon, si vous connaissez les étapes exactes, essayez d'expliquer le problème à nouveau. –
Les étapes obtiennent une séquence de nombres aléatoires de 1-10 disons. Assurez-vous que 10 est le dernier numéro de la séquence. Utilisez le numéro de question pour voir cette séquence –
Vous continuez à poser la même question (plus ou moins) encore et encore. Veuillez ne poser des questions qu'une seule fois et, le cas échéant, prenez le temps de les formuler aussi clairement que possible. –