Pour une écriture collaborative pensez aussi à Wikinouvelles.
Utilisateur:Motif
Respectez les droits d'auteur de ce texte (récupéré sur le site Wikimaginaire).
[modifier]
Voila un code C++ pour combiner facile :
#include <stdio.h>
#include <stream.h>
#include "math.h"
#include "vector"
#include "string"
using namespace std;
int main () {
int l, n;
string pref;
cout << "Entrer les informations : " << endl
<< " <nombre de phrases n> <nombre de mots l>" << endl
<< " <prefixe a chaque phrase>" << endl
<< " <phrase 1 de l mots>" << endl
<< " ..." << endl
<< " <phrase n de l mots>" << endl;
cin >> n >> l >> pref;
typedef vector<string> phrase;
vector<phrase> les_phrases(n);
vector<phrase>::iterator ip = les_phrases.begin();
vector<phrase>::iterator ep = les_phrases.end();
phrase::iterator im,em;
for ( ; ip!=ep; ip++)
{
(*ip).resize(l);
im=(*ip).begin(); em=(*ip).end();
for ( ; im!=em ; im++)
cin >> *im;
}
ip=les_phrases.begin();
vector<int> c(l,0);
for (long int i=0; i<l*pow(n,l); i+=1)
{
if (i%l==0) cout << pref << " " << ip[c[i%l]][i%l];
else cout << " " << ip[(c[i%l]+c[0])%n][i%l];
if (i%l==l-1)
{
c[0]++;
for (int j=0; j<l-1; j++)
if (c[j]==n) { c[j]=0; c[j+1]++; }
}
if (i%l==l-1 && i+1!=l*pow(n,l)) cout << ", ";
}
cout << endl;
}
Par exemple, j'aurais voulu... a été créé avec ce programme en entrant:
4 4 une brève nouvelle policière cynique grande histoire d'amour lyrique fumeuse théorie combinatoire impubliable amusante satire politique ambigue
