Ok, donc je espère pouvoir expliquer cela de façon suffisamment détaillée pour quelqu'un pour être en mesure de me aider .. Je suis en train d'écrire un programme en C# qui est censé prendre un fichier texte et remplacer le texte spécifique, qui se trouve être les noms des fichiers, et imprimer un nouveau fichier texte pour chaque combinaison des noms de fichiers donnés. Les endroits spécifiques pour changer le texte des noms de fichiers ont leur propre ensemble de noms de fichiers possibles, répertoriés comme un tableau décrit ci-dessous. Le programme doit s'exécuter quel que soit le nombre de noms de fichiers disponibles pour chaque emplacement, ainsi que le nombre total d'emplacements pour les noms de fichiers. Si vous voulez vraiment le rendre génial, il peut être légèrement optimisé en sachant qu'aucun nom de fichier ne doit être dupliqué dans un seul fichier texte.Créer des fichiers texte de toutes les combinaisons de lignes spécifiques dans un fichier texte de base
text
est un réseau de lignes qui forment la base du fichier total.
lineNum
contient un tableau des emplacements de ligne des entrées de nom de fichier.
previousFiles
est un tableau de noms de fichiers utilisés précédemment, en commençant par ce qui est déjà dans le fichier.
files
est un tableau à 2 dimensions en dents de scie de noms possibles où files[1]
serait un tableau de tous les noms possibles pour le 2ème emplacement
Voici un exemple de la façon dont cela fonctionnerait avec 3 emplacements de noms de fichiers séparés, la le premier a donné 3 noms de fichiers possibles, le second a donné 8 noms de fichiers possibles, et le troisième a donné 3 noms de fichiers possibles.
Oh et supposons que buildNewFile fonctionne.
int iterator = 0;
for (int a = 0; a < 3; a++)
{
for (int b = 0; b < 8; b++)
{
for (int c = 0; c < 3; c++)
{
iterator++;
text[lineNums[0]] = text[lineNums[0]].Replace(previousFiles[0], files[0][a]);
text[lineNums[1]] = text[lineNums[1]].Replace(previousFiles[0], files[0][a]);
text[lineNums[2]] = text[lineNums[2]].Replace(previousFiles[1], files[1][b]);
text[lineNums[3]] = text[lineNums[3]].Replace(previousFiles[1], files[1][b]);
text[lineNums[4]] = text[lineNums[4]].Replace(previousFiles[2], files[2][c]);
text[lineNums[5]] = text[lineNums[5]].Replace(previousFiles[2], files[2][c]);
previousFiles = new string[] { files[0][a], files[1][b], files[2][c] };
buildNewFile(text, Info.baseFolder + "networks\\" + Info.dsnFilename + iterator + ".dsn");
}
}
}
Si vous les gars peuvent me aider, je vous remercie beaucoup, je ne peux pas comprendre comment le faire ou quoi que ce soit récursive. Si vous avez des questions, je vais y répondre et les modifier ici pour refléter cela.