Dupliquer une ligne

Fermé
mouness - 5 oct. 2008 à 09:17
oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 - 8 oct. 2008 à 14:30
Bonjour,
Je cherche un moyen de dupliquer une ligne dans un ficher texte un truc genre 50000 ou 100000 fois avec une incrementation(un compteur) en bout de ligne et ajouter en plus une lettre ou un symbole tous les 200 ou 250

(je m'explique 250 avec le symbole, 250 sans, 250 avec, 250 sans ect.. jusqu'à la fin)

quelqu'un aurait-il un moyen simple d'y parvenir
merci d'avance @+
A voir également:

2 réponses

oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 10
5 oct. 2008 à 10:33
Salut, je ne sais pas quel langage est-ce que tu utilises mais voici ce que je propose :

Les 3 fonctions de bases nécessaires sont :

1/ Une fonction que j'appellerais DupliqueLigne(...);
   Cette fonction a pour rôle de dupliquer une ligne qu'on passera en parametre.

2/ Une fonction AjoutLettreOuSymbole(...);
   Cette fonction ajoutera une lettre ou un symbole en fin de la ligne passée en paramètre.

3/ Une fonction TesteSiMultipleDe250(...);
   On va supposer que c'est tous les 250 fois(resp. tous les 200 fois)
   Cette fontion prendra en argument le compteur et teste si cet entier est multiple de 250.
   On peut utiliser comme valeur de retour de cette fonction la valeur 1 ou 0 (si c'est un multiple de 250, on retourne 0, si ça ne l'est pas, on retourne 1 par exemple).

   
4/ Et enfin voici l'algorithme qui répond à ton problème (supposons qu'on va faire une duplication jusqu'à 100000 fois):

     {/*debut programme*/
        Déclaration de mes variables sans oublier leurs types;

        cpt = 1; /*c'est mon compteur initialisé à 1, on suppose que cpt a été déclarée ci-dessus*/

        Tant que cpt n'atteint pas 100000   /*boucle while par exemple*/
         {
          DupliqueLigne(...); /*je duplique la ligne*/

                Si TesteSiMultipleDe250(...); vaut 0 /*ça veut dire que c'est un mutiple de 250*/
               {
                     AjoutLettreOuSymbole(...);/*et j'ajoute une lettre ou un symbole à cette ligne qe je viens de dupliquer*/
                }

          cpt = cpt+1; /*j'incrémente le compteur*/  
          }
      
      }/*fin programme*/


Voilà l'algo que je propose, par contre il ne faut pas oublier les cas particuliers comme par exemple la première ligne si elle porte le numéro 0(zéro) il faut faire attention aux initialisations) car 0 est un munltiple de n'importe quel nombre ... c'est à toi de gérer les casses ainsi que les cas particuliers.
N'oublies pas aussi que cet algo est la base mais c'est à toi de l'adapter par rapport à ton langage de programmation.

Voilà, j'espère t'avoir aidé à +
0
merci pour ta réponse
entre temps je me suis écrit un bout de code que voici (en java) mais il me manque la partie ou j'ecrit ca dans un .txt voici le code :
public class dupliq
{
/**
* @param args
*/
public static void main (String [] args)
{
int b = 0;
// TODO Auto-generated method stub
for (int i = 0; i < 5000; i ++ )
{
b++;
if (b<251)
{
System.out.println ("test impression "+ i +" *");
}
else
{
System.out.println ("test impression "+ i);
}
if (b>500)
{
b = 0;
}
}
}
}
si tu peut m'aider
merci d'avance @+
0
oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 10
8 oct. 2008 à 14:30
salut,

connais pas java, mais faut chercher je crois qu'il existe une fonction qui ecrit dans un fichier en java, bonne chance
0