Komen faire un tableau d'un fichier en Perl?
Résolu/Fermé
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
-
13 janv. 2007 à 12:17
karinn Messages postés 49 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 10 mai 2009 - 26 janv. 2007 à 22:51
karinn Messages postés 49 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 10 mai 2009 - 26 janv. 2007 à 22:51
A voir également:
- Komen faire un tableau d'un fichier en Perl?
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment faire un tableau - Guide
- Tableau croisé dynamique - Guide
- Comment faire un fichier pdf - Guide
21 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
15 janv. 2007 à 19:43
15 janv. 2007 à 19:43
Salut,
tu peux utiliser le mode slurp pour capturer le contenu du fichier dans une variable, ensuite il te reste à comparer avec le texte
Soit plus précis, affiche ton code si tu en a un, si tu fait un tableau alors tu seras obligé de faire la même chose avec le texte et comparer chaque élément de tableau.
Dit l'énoncé de ton exo.
tu peux utiliser le mode slurp pour capturer le contenu du fichier dans une variable, ensuite il te reste à comparer avec le texte
Soit plus précis, affiche ton code si tu en a un, si tu fait un tableau alors tu seras obligé de faire la même chose avec le texte et comparer chaque élément de tableau.
Dit l'énoncé de ton exo.
#!/usr/bin/perl # ici tu dois avoir autre chose vu que tu es sur windows use warnings;use strict; { local $/; # mode slurp my $fic = <>; # je capture le contenu de fichier dans $fic print $fic; # j'affiche le contenu de $fic } __END__ pour exemple applique le code au script lui même pour voir le résultat
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
15 janv. 2007 à 19:53
15 janv. 2007 à 19:53
sinon pour mettre un fichier dans un tableau (je prends ton bout de code :-))
et là, la prof m'a dit que ça ne me prendrait que la derniere ligne du fichier pour la comparaison...
quand tu fait
@tab_motsfic=split (" ",$ligne);
en fait à chaque passage ligne par ligne, le tableau est d'abord vidé de contenu et ensuite on lui affecte la ligne une par une jusqu'à la fin de fichier.
Donc à la fin il ne gardera que la dernière.
while ($ligne=<$fic>) { push @tab_motsfic,$ligne; }Ton prof t'a expliquer pourquoi
et là, la prof m'a dit que ça ne me prendrait que la derniere ligne du fichier pour la comparaison...
quand tu fait
@tab_motsfic=split (" ",$ligne);
en fait à chaque passage ligne par ligne, le tableau est d'abord vidé de contenu et ensuite on lui affecte la ligne une par une jusqu'à la fin de fichier.
Donc à la fin il ne gardera que la dernière.
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
15 janv. 2007 à 21:42
15 janv. 2007 à 21:42
Alor voila l énoncé demon exo et ce k j'ai fait jusqu'à present...:
Consigne : " Le programme va nous permettre de constituer un petit lexique et un petit vérificateur d'orthographe
- le programme demande l'utilisateu de saisir un texte (mot,phrase, phrases)
- cetexte saisi va etre scindé en mots, mis dans un tableau
- les mots de ce tableau vnt etre comparés à ceux contenus dans un fichier : on garde dans un tableau : mot_douteux les mots n'étant pas dans le fichier (c'est cette partie que e n'arrive pas à faire)
- chacun de ces mots (de mot_douteux) vont etre proposés à l'utilisateur pour vérification :
- si l'utilsateur confirme (nouveau mot, orthographe correcte) le mot sera rajouté dans le fichier
- sinon l'utilisateur refuse (probleme d'orthographe) : cette partie cbon elle marche...
Maintenant ce que j'ai fait ( en sachant que la fonction push ne marche pas) :
#!/usr/bin/perl
use strict;
use warnings;
my $texte;
my @tab_motstapes;
my $elt;
my $elt2;
my @tab_motsfic;
my $fic;
my $ligne;
my @mots_douteux;
my $trouve;
my $compteur;
my $compteur2;
my $elt3;
my $rep;
my $compteur3;
print ("saisir un texte autrement dit un mot ou une ou plusieurs phrases \n");
$texte=<STDIN>;
chomp ($texte);
$compteur=0;
$compteur2=0;
$compteur3=0;
@tab_motstapes=split(" ",$texte);
foreach $elt(@tab_motstapes) {
$compteur=$compteur+1;
print("$elt\n");
}
open $fic,'<',"fichier_exo_0107.txt" or die "fichier non ouvert\n";
while ($ligne=<$fic>) {
push (@tab_motsfic,$ligne);
foreach $elt2(@tab_motsfic) {
$trouve="oui";
$compteur2=$compteur2+1;
}
}
foreach $elt(@tab_motstapes) {
foreach $elt2(@tab_motsfic) {
if ($elt eq $elt2) {
$trouve="oui"; #c est bien mais que pour la derniere ligne
}
if ($elt ne $elt2) {
$trouve="non";
@mots_douteux=$elt;
}
}
}
print ("Le nombre de mots tapes est $compteur\n");
print ("Le nombre de mots du fichier est $compteur2\n");
print ("Les mots douteux sont @mots_douteux\n");
close ($fic);
open $fic,'>>',"fichier_exo_0107.txt" or die "fichier non ouvert\n";
foreach $elt3(@mots_douteux) {
print ("Ces mots @mots_douteux vous sont proposes pour verification. Si son(leur) orthographe est correcte ou qu'il s'agit d'un nouveau mot, dites oui; sinon s'il ya un probleme d'orthographe, refusez\n");
$rep=<STDIN>;
chomp ($rep);
if ($rep eq "oui") {
print $fic "$elt3\n";
$compteur2=$compteur2+1;
$compteur3=$compteur3+1;
}
else {
$rep="non";
$compteur2=$compteur2;
}
}
print ("Le nombre de mots ajoutes au fichier apres leur verification est $compteur3\n");
print ("Le nombre de mots du fichier est maintenant de $compteur2\n");
close $fic;
Consigne : " Le programme va nous permettre de constituer un petit lexique et un petit vérificateur d'orthographe
- le programme demande l'utilisateu de saisir un texte (mot,phrase, phrases)
- cetexte saisi va etre scindé en mots, mis dans un tableau
- les mots de ce tableau vnt etre comparés à ceux contenus dans un fichier : on garde dans un tableau : mot_douteux les mots n'étant pas dans le fichier (c'est cette partie que e n'arrive pas à faire)
- chacun de ces mots (de mot_douteux) vont etre proposés à l'utilisateur pour vérification :
- si l'utilsateur confirme (nouveau mot, orthographe correcte) le mot sera rajouté dans le fichier
- sinon l'utilisateur refuse (probleme d'orthographe) : cette partie cbon elle marche...
Maintenant ce que j'ai fait ( en sachant que la fonction push ne marche pas) :
#!/usr/bin/perl
use strict;
use warnings;
my $texte;
my @tab_motstapes;
my $elt;
my $elt2;
my @tab_motsfic;
my $fic;
my $ligne;
my @mots_douteux;
my $trouve;
my $compteur;
my $compteur2;
my $elt3;
my $rep;
my $compteur3;
print ("saisir un texte autrement dit un mot ou une ou plusieurs phrases \n");
$texte=<STDIN>;
chomp ($texte);
$compteur=0;
$compteur2=0;
$compteur3=0;
@tab_motstapes=split(" ",$texte);
foreach $elt(@tab_motstapes) {
$compteur=$compteur+1;
print("$elt\n");
}
open $fic,'<',"fichier_exo_0107.txt" or die "fichier non ouvert\n";
while ($ligne=<$fic>) {
push (@tab_motsfic,$ligne);
foreach $elt2(@tab_motsfic) {
$trouve="oui";
$compteur2=$compteur2+1;
}
}
foreach $elt(@tab_motstapes) {
foreach $elt2(@tab_motsfic) {
if ($elt eq $elt2) {
$trouve="oui"; #c est bien mais que pour la derniere ligne
}
if ($elt ne $elt2) {
$trouve="non";
@mots_douteux=$elt;
}
}
}
print ("Le nombre de mots tapes est $compteur\n");
print ("Le nombre de mots du fichier est $compteur2\n");
print ("Les mots douteux sont @mots_douteux\n");
close ($fic);
open $fic,'>>',"fichier_exo_0107.txt" or die "fichier non ouvert\n";
foreach $elt3(@mots_douteux) {
print ("Ces mots @mots_douteux vous sont proposes pour verification. Si son(leur) orthographe est correcte ou qu'il s'agit d'un nouveau mot, dites oui; sinon s'il ya un probleme d'orthographe, refusez\n");
$rep=<STDIN>;
chomp ($rep);
if ($rep eq "oui") {
print $fic "$elt3\n";
$compteur2=$compteur2+1;
$compteur3=$compteur3+1;
}
else {
$rep="non";
$compteur2=$compteur2;
}
}
print ("Le nombre de mots ajoutes au fichier apres leur verification est $compteur3\n");
print ("Le nombre de mots du fichier est maintenant de $compteur2\n");
close $fic;
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 janv. 2007 à 20:09
16 janv. 2007 à 20:09
Comme tu ne l'as pas dit, j'ai suppose que ton fichier original contient un mot par ligne
Voila le fichier sur lequel je teste mon code
fichier.txt
je vais taper la phrase (qui ne dit pas la verité :-))
Je ne suis pas bien
les mot ne, suis et pas n'existe pas dans le fichier
je vais repondre oui partout
Voila le fichier sur lequel je teste mon code
fichier.txt
mot fichier texte je insertion faire mettre perl programme table script ouvert mais bien pour la dernière ligne oui non trouver compteurChaque exécution de script sauvagarde le dernier fichier original (donc on peut toujours retourner un pas un arrière, mais pas 2 :-)) Le fichier sauvegardé aura le nom fichier_original.txt
Voilà un exemple
je vais taper la phrase (qui ne dit pas la verité :-))
Je ne suis pas bien
les mot ne, suis et pas n'existe pas dans le fichier
je vais repondre oui partout
debian:~/trash# perl karinn.pl Saisissez un mot ou une phrase : je ne suis pas bien Le nombre de mots tapés est : 5 Le nombre de mots de fichier est : 22 Il y a 3 qui ne sont pas dans le ficher: ne suis pas Voulez-vous ajouter le mot ne au fichier? O[ui] ou N[on] : o Voulez-vous ajouter le mot suis au fichier? O[ui] ou N[on] : o Voulez-vous ajouter le mot pas au fichier? O[ui] ou N[on] : o debian:~/trash#Le résultat
debian:~/trash# cat fichier.txt mot fichier texte je insertion faire mettre perl programme table script ouvert mais bien pour la dernière ligne oui non trouver compteur ne suis pasVoici le script (c'est totalement différent de ce que tu veux faire, en bref c'est plus perlien en comparaison avec ton code que s'approche de C par exemple :-)) j'aime bien le C :-))))
#!/usr/bin/perl # use warnings;use strict; my (@mots_douteux,@fic); my %dans_fichier; my ($fichier,$temp) = ("fichier.txt", "temp.txt"); # ouverture de fichier en lecture open F_LIRE, "$fichier" or die "E/S: $!\n"; # ouverture de fichier temporaire en mode ajout open F_ECRIRE, ">>$temp" or die "E/S: $!\n"; # sauvagarde fichier dans un tableau # en même temp je fait un chomp sur chaque element map { chomp } @fic = <F_LIRE>; # je sauvegarde le contenu de fichier original print F_ECRIRE "$_\n" foreach @fic; # début de programme print "Saisissez un mot ou une phrase :\n"; chomp(my $texte = <STDIN>); $texte =~ s/\W/ /g; # remplace signes punctuation avec un espace my @mot_texte = split /\s+/, $texte; # pour split # aide mémoire pour trouver les mots # qui n'existent pas dans le fichier @dans_fichier{@fic} = (); # sauvegarde des mots inexistants dans le fichier foreach (@mot_texte){ push @mots_douteux,$_ unless exists $dans_fichier{$_}; } print "Le nombre de mots tapés est : ", @mot_texte+0,"\n"; print "Le nombre de mots de fichier est : ",@fic+0,"\n"; print "Il y a ",@mots_douteux+0," qui ne sont pas dans le ficher:\n"; print "@mots_douteux\n"; # traitment de mots trouvés foreach (@mots_douteux){ print "Voulez-vous ajouter le mot $_ au fichier? O[ui] ou N[on] : "; chomp(my $rep = <STDIN>); print F_ECRIRE "$_\n" if $rep =~ /o(ui)?/i; } close F_LIRE; close F_ECRIRE; rename($fichier,"fichier_original.txt") or die "E/S : $!"; rename ($temp,$fichier) or die "E/S : $!\n";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 janv. 2007 à 21:38
16 janv. 2007 à 21:38
Et si tu veux que le fichier soit trier par ordre alphabétique
#!/usr/bin/perl use warnings;use strict; my (@mots_douteux,@fic); my %dans_fichier; my ($fichier,$temp) = ("fichier.txt", "temp.txt"); # ouverture de fichier en lecture open F_LIRE, "$fichier" or die "E/S: $!\n"; # ouverture de fichier temporaire en mode écriture open F_ECRIRE, ">$temp" or die "E/S: $!\n"; # sauvagarde fichier dans un tableau # en même temp je fait un chomp sur chaque element map { chomp } @fic = <F_LIRE>; # début de programme print "Saisissez un mot ou une phrase :\n"; chomp(my $texte = <STDIN>); $texte =~ s/\W/ /g; # remplace signes punctuation avec un espace my @mot_texte = split /\s+/, $texte; # pour split # aide mémoire pour trouver les mots # qui n'existent pas dans le fichier @dans_fichier{@fic} = (); # sauvegarde des mots inexistant dans le fichier foreach (@mot_texte){ push @mots_douteux,$_ unless exists $dans_fichier{$_}; } print "Le nombre de mots tapés est : ", @mot_texte+0,"\n"; print "Le nombre de mots de fichier est : ",@fic+0,"\n"; print "Il y a ",@mots_douteux+0," qui ne sont pas dans le ficher:\n"; print "@mots_douteux\n"; # traitment de mots trouvés foreach (@mots_douteux){ print "Voulez-vous ajouter le mot $_ au fichier? O[ui] ou N[on] : "; chomp(my $rep = <STDIN>); push @fic,$_ if $rep =~ /o(ui)?/i; } # écriture dans le fichier temporaire # et tri par ordre alphabétique print F_ECRIRE "$_\n" foreach sort @fic; close F_LIRE; close F_ECRIRE; # sauvegarde de fichier original rename($fichier,"fichier_original.txt") or die "E/S : $!"; # le nouveau fichier rename ($temp,$fichier) or die "E/S : $!\n";
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
16 janv. 2007 à 21:39
16 janv. 2007 à 21:39
Merci !!!...mais le probleme c'est qu'en cours on a vraiment pas vu ca du tout (map et d'autres syntaxes) lol.
Donc, en gros j peux pas trop me servir de ca pask sinon la prof va se demander d'ou j sors tout ca...c trop perlien lol...
Je ne critique pas attention ! c'est juste que voila...
je te remercie qd meme pour ton aide !! tu m'as qd meme aidé a comprendre certaines choses...
voila...
bye
Donc, en gros j peux pas trop me servir de ca pask sinon la prof va se demander d'ou j sors tout ca...c trop perlien lol...
Je ne critique pas attention ! c'est juste que voila...
je te remercie qd meme pour ton aide !! tu m'as qd meme aidé a comprendre certaines choses...
voila...
bye
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
16 janv. 2007 à 21:41
16 janv. 2007 à 21:41
ah oui et j voulais te dire aussi...c vrai k j'avais oublié de preciser que le fichier est un texte...
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 janv. 2007 à 21:51
16 janv. 2007 à 21:51
c'est qu'en cours on a vraiment pas vu ca du tout (map et d'autres syntaxes) lol.
ben, alors peut être que ton prof devra vous apprendre
ai-je bien compris ton exercice ou pas?
en ce qui concerne les compteurs tu n'as pas besoin?
pour connaître le nombre d'éléments d'un tableau tu as plusieurs possibilités en Perl
@tableau+0;
scalar @tableau
$#tableau+1;
donne le même résultat = le nombre d'éléments d'un tableau
Dans une situation comme la tienne c'est bien d'utiliser les hash.
En fait pour trouver les mots douteux je cherche les éléments qui sont dans le tableau obtenu après la saisie et qui ne sont pas dans le fichier
map c'est une fonction qui agit sur les éléments d'un tableau
au lieu de faire un foreach je fait un map (si tu ne sais pas, les perliens sont des paresseux, demande ton prof et tu verras :-))
et apprends à bien écrire ton code.
En ce qui concerne la fonction push, il faut la comprendre
Voilà ce que tu as dans ton code
while ($ligne=<$fic>) {
push (@tab_motsfic,$ligne);
foreach $elt2(@tab_motsfic) {
Tu devras avoir
ben, alors peut être que ton prof devra vous apprendre
ai-je bien compris ton exercice ou pas?
en ce qui concerne les compteurs tu n'as pas besoin?
pour connaître le nombre d'éléments d'un tableau tu as plusieurs possibilités en Perl
@tableau+0;
scalar @tableau
$#tableau+1;
donne le même résultat = le nombre d'éléments d'un tableau
Dans une situation comme la tienne c'est bien d'utiliser les hash.
En fait pour trouver les mots douteux je cherche les éléments qui sont dans le tableau obtenu après la saisie et qui ne sont pas dans le fichier
map c'est une fonction qui agit sur les éléments d'un tableau
au lieu de faire un foreach je fait un map (si tu ne sais pas, les perliens sont des paresseux, demande ton prof et tu verras :-))
et apprends à bien écrire ton code.
En ce qui concerne la fonction push, il faut la comprendre
Voilà ce que tu as dans ton code
while ($ligne=<$fic>) {
push (@tab_motsfic,$ligne);
foreach $elt2(@tab_motsfic) {
Tu devras avoir
while ($ligne=<$fic>) { # pour chaque ligne de fichier push (@tab_motsfic,$ligne); # ajoute au tableau l } # j'ai supposé que chaque ligne c'est un seule mot # sinon tu seras obligé de spliter # chaque ligne, avant d'ajouter au tableau # ici je ferme le bloc de while # dorénavant j'utilise le tableau # qui contient le fichier foreach $elt2(@tab_motsfic) {
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
17 janv. 2007 à 09:01
17 janv. 2007 à 09:01
Ce que tu as dit en dernier à propos de la fonction push et avec le split je l'essaierai tout a l'heure...mais c'est vrai que c'est une bonne idée...donc si je comprends bien : je dois faire mon split avant de faire le push...(donc utiliser while...@tab_motsfic=split(" ",$ligne)...on est bien d'accord ? lol)
sinon ben en fait pour les fonctions map etc on verra ptetr ca au second semestre en cours...je ne sais pas...lol
Mais j'avais oublié de te dire aussi que je travaille avec Crimson Editor, c'est pour ça que je t'ai dit hier que c'était trop perlien lol...j'espere que tu ne l'as pas mal pris...:-)
En tout cas je te le redis merci pour ton aide...et t'inquiete pas tu as compris l'exo lol...
sinon ben en fait pour les fonctions map etc on verra ptetr ca au second semestre en cours...je ne sais pas...lol
Mais j'avais oublié de te dire aussi que je travaille avec Crimson Editor, c'est pour ça que je t'ai dit hier que c'était trop perlien lol...j'espere que tu ne l'as pas mal pris...:-)
En tout cas je te le redis merci pour ton aide...et t'inquiete pas tu as compris l'exo lol...
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
17 janv. 2007 à 09:23
17 janv. 2007 à 09:23
Re ! lol...
Alors en fait j'ai essayé avec le split avant et ca ne marche pas...j'ai l'impression que ca me prend toujours la derniere ligne lol...Je t'explique :
En fait les compteurs me servent à vérifier que tout est ok surtout pour le nombre de mots du fichier ; en fait je les avais compté avec Word et il y en a 980 (alors peut etre que c'est un trop gros fichier ?) et quand je mets la fonction split toute seule il me compte bien les 980 mots et si je les fait afficher il me les affiche.Normal quoi ! lol...
si je rajoute la fonction push en dessous il me compte 983 mots et je ne comprends pas prquoi...et le probleme c'est que j'ai testé mon programme avec des mots qui étaient dans mon fichier et il me met le dernier mot tapé dans le tableau des mots douteux...meme avec la fonction push..
:-s
Alors en fait j'ai essayé avec le split avant et ca ne marche pas...j'ai l'impression que ca me prend toujours la derniere ligne lol...Je t'explique :
En fait les compteurs me servent à vérifier que tout est ok surtout pour le nombre de mots du fichier ; en fait je les avais compté avec Word et il y en a 980 (alors peut etre que c'est un trop gros fichier ?) et quand je mets la fonction split toute seule il me compte bien les 980 mots et si je les fait afficher il me les affiche.Normal quoi ! lol...
si je rajoute la fonction push en dessous il me compte 983 mots et je ne comprends pas prquoi...et le probleme c'est que j'ai testé mon programme avec des mots qui étaient dans mon fichier et il me met le dernier mot tapé dans le tableau des mots douteux...meme avec la fonction push..
:-s
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 janv. 2007 à 10:53
17 janv. 2007 à 10:53
Re,
alors peut etre que c'est un trop gros fichier ?)
tu rigoles!!! :-)) j'ai parsé des fichiers plus de 10 millions lignes.
Mets ton fichier sur cjoint.com et je verrai ce soir.
Perso, j'utilise vi ou vim pour écrire du code (que ça soit Perl ou C)
Tu n'as pas besoin de compteurs puisque tu peut utiliser les tableaux, je vais arranger le code pour qu'il soit plus proche de ce que tu fais mais j'ai besoin de ton fichier .
en ce qui concerne split et push, je suppose que tu n'utilise pas bien ces fonctions
En général je préfére de connaître le fichier sur lequel on travail.
alors peut etre que c'est un trop gros fichier ?)
tu rigoles!!! :-)) j'ai parsé des fichiers plus de 10 millions lignes.
Mets ton fichier sur cjoint.com et je verrai ce soir.
Perso, j'utilise vi ou vim pour écrire du code (que ça soit Perl ou C)
Tu n'as pas besoin de compteurs puisque tu peut utiliser les tableaux, je vais arranger le code pour qu'il soit plus proche de ce que tu fais mais j'ai besoin de ton fichier .
en ce qui concerne split et push, je suppose que tu n'utilise pas bien ces fonctions
En général je préfére de connaître le fichier sur lequel on travail.
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
17 janv. 2007 à 20:02
17 janv. 2007 à 20:02
cjoint.com...???
ok...c un site ?...ya un lien pour ca sur CCM ?
bon j vais chercher ou c'est pdt ce tps là lol
ok...c un site ?...ya un lien pour ca sur CCM ?
bon j vais chercher ou c'est pdt ce tps là lol
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
17 janv. 2007 à 20:05
17 janv. 2007 à 20:05
j'ai trouvé le site mais ou j peux te l'envoyer mon fichier ?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 janv. 2007 à 21:02
17 janv. 2007 à 21:02
Tu vas sur https://www.cjoint.com/
ensuite tu fait clic sur Parcourir pour choisir le fichier
ensuite tu gait clic sur Créer le lien Cjoint
tu mets ici le lien
Sinon, plus simple dans mon profil tu as mon mail
ensuite tu fait clic sur Parcourir pour choisir le fichier
ensuite tu gait clic sur Créer le lien Cjoint
tu mets ici le lien
Sinon, plus simple dans mon profil tu as mon mail
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
18 janv. 2007 à 15:54
18 janv. 2007 à 15:54
voila j crois k c bon.jt'ai envoyé mon fichier...j'ai fait comme tu m'as dit pour le lien...j'espere juste k j me suis pas plantée...
voila...
par contre j'ai pas trouvé ton mail dans ton profil...
bye
voila...
par contre j'ai pas trouvé ton mail dans ton profil...
bye
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 janv. 2007 à 16:38
18 janv. 2007 à 16:38
Et le lien il est où?
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
18 janv. 2007 à 18:01
18 janv. 2007 à 18:01
tu sais quoi ? j te mets le fichier direct comm ca...et tu le mettas dans le bloc notes....lol
Mon fichier :
Me voici donc seul sur la terre, n'ayant plus de frère, de prochain, d'ami, de société que moi-même Le plus sociable et le plus aimant des humains en a été proscrit. Par un accord unanime ils ont cherché dans les raffinements de leur haine quel tourment pouvait être le plus cruel à mon âme sensible, et ils ont brisé violemment tous les liens qui m'attachaient à eux. J'aurais aimé les hommes en dépit d'eux-mêmes. Ils n'ont pu qu'en cessant de l'être se dérober à mon affection. Les voilà donc étrangers, inconnus, nuls enfin pour moi puisqu'ils l'ont voulu. Mais moi, détaché d'eux et de tout, que suis-je moi-même ? Voilà ce qui me reste à chercher. Malheureusement cette recherche doit être précédée d'un coup d'oeil sur ma position. C'est une idée par laquelle il faut nécessairement que je passe pour arriver d'eux à moi.
Depuis quinze ans et plus que je suis dans cette étrange position, elle me paraît encore un rêve. Je m'imagine toujours qu'une indigestion me tourmente, que je dors d'un mauvais sommeil et que je vais me réveiller bien soulagé de ma peine en me retrouvant avec mes amis. Oui, sans doute, il faut que j'aie fait sans que je m'en aperçusse un saut de la veille au sommeil, ou plutôt de la vie à la mort. Tiré je ne sais comment de l'ordre des choses, je me suis vu précipité dans un chaos incompréhensible où je n'aperçois rien du tout ; et plus je pense à ma situation présente et moins je puis comprendre où je suis.
Eh ! comment aurais-je pu prévoir le destin qui m'attendait ? comment le puis-je concevoir encore aujourd'hui que j'y suis livré ? Pouvais-je dans mon bon sens supposer qu'un jour, moi le même homme que j'étais, le même que je suis encore, je passerais, je serais tenu sans le moindre doute pour un monstre, un empoisonneur, un assassin, que je deviendrais l'horreur de la race humaine, le jouet de la canaille, que toute la salutation que me feraient les passants serait de cracher sur moi, qu'une génération tout entière s'amuserait d'un accord unanime à m'enterrer tout vivant ? Quand cette étrange révolution se fit, pris au dépourvu, j'en fus d'abord bouleversé. Mes agitations, mon indignation me plongèrent dans un délire qui n'a pas eu trop de dix ans pour se calmer, et dans cet intervalle, tombé d'erreur en erreur, de faute en faute, de sottise en sottise, j'ai fourni par mes imprudences aux directeurs de ma destinée autant d'instruments qu'ils ont habilement mis en oeuvre pour la fixer sans retour. Je me suis débattu longtemps aussi violemment que vainement. Sans adresse, sans art, sans dissimulation, sans prudence, franc, ouvert impatient, emporté, je n'ai fait en me débattant que m'enlacer davantage et leur donner incessamment de nouvelles prises qu'ils n'ont eu garde de négliger. Sentant enfin tous mes efforts inutiles et me tourmentant à pure perte, j'ai pris le seul parti qui me restait à prendre, celui de me soumettre à ma destinée sans plus regimber contre la nécessité. J'ai trouvé dans cette résignation le dédommagement de tous mes maux par la tranquillité qu'elle me procure et qui ne pouvait s'allier avec le travail continuel d'une résistance aussi pénible qu'infructueuse. Une autre chose a contribué à cette tranquillité. Dans tous les raffinements de leur haine, mes persécuteurs en ont omis un que leur animosité leur a fait oublier ; c'était d'en graduer si bien les effets qu'ils pussent entretenir et renouveler mes douleurs sans cesse en me portant toujours quelque nouvelle atteinte. S'ils avaient eu I adresse de me laisser quelque lueur d'espérance ils me tiendraient encore par là. Ils Pourraient faire encore de moi leur jouet par quelque faux leurre', et me navrera ensuite d'un tourment toujours nouveau par mon attente déçue. Mais ils ont d'avance épuisé toutes leurs ressources ; en ne me laissant rien ils se sont tout ôté à eux-mêmes. La diffamation la dépressions, la dérision, l'opprobre dont ils mont couvert ne sont pas plus susceptibles d'augmentation que d'adoucissement ; nous sommes également hors d'état, eux de les aggraver et moi de m'y soustraire. Ils se sont tellement pressés de porter à son comble la mesure de ma misère que toute la puissance humaine, aidée de toutes les ruses de l'enfer, n'y saurait plus rien ajouter. La douleur physique elle-même au lieu d'augmenter mes peines y ferait diversion. En m'arrachant des cris, peut-être, elle m'épargnerait des gémissements, et les déchirements de mon corps suspendraient ceux de mon coeur. Qu'ai-je encore à craindre d'eux puisque tout est fait ? Ne pouvant plus empirera mon état ils ne sauraient plus m'inspirer d'alarmes. L'inquiétude et l'effroi sont des maux dont ils m'ont pour jamais délivré : c'est toujours un soulagement. Les maux réels ont sur moi peu de prise ; je prends aisément mon parti sur ceux que j'éprouve, mais non pas sur ceux que je crains. Mon imagination effarouchée les combine, les retourne, les étend et les augmente. Leur attente me tourmente cent fois plus que leur présence, et la menace m'est plus terrible que le coup. Sitôt qu'ils arrivent, l'événement, leur ôtant tout ce qu'ils avaient d'imaginaire, les réduit à leur juste valeur. Je les trouve alors beaucoup moindres que je ne me les étais figurés, et même au milieu de ma souffrance je ne laisse pas de me sentir soulagé. Dans cet état, affranchi de toute nouvelle crainte et délivré de l'inquiétude de l'espérance, la seule habitude suffira pour me rendre de jour en jour plus supportable une situation que rien ne peut empirer, et à mesure que le sentiment s'en émousse par la durée ils n'ont plus de moyens pour le ranimer. Voilà le bien que m'ont fait mes persécuteurs en épuisant sans mesure tous les traits de leur animosité. Ils se sont ôté sur moi tout empire, et je puis désormais me moquer d'eux.
Voila
bye
Mon fichier :
Me voici donc seul sur la terre, n'ayant plus de frère, de prochain, d'ami, de société que moi-même Le plus sociable et le plus aimant des humains en a été proscrit. Par un accord unanime ils ont cherché dans les raffinements de leur haine quel tourment pouvait être le plus cruel à mon âme sensible, et ils ont brisé violemment tous les liens qui m'attachaient à eux. J'aurais aimé les hommes en dépit d'eux-mêmes. Ils n'ont pu qu'en cessant de l'être se dérober à mon affection. Les voilà donc étrangers, inconnus, nuls enfin pour moi puisqu'ils l'ont voulu. Mais moi, détaché d'eux et de tout, que suis-je moi-même ? Voilà ce qui me reste à chercher. Malheureusement cette recherche doit être précédée d'un coup d'oeil sur ma position. C'est une idée par laquelle il faut nécessairement que je passe pour arriver d'eux à moi.
Depuis quinze ans et plus que je suis dans cette étrange position, elle me paraît encore un rêve. Je m'imagine toujours qu'une indigestion me tourmente, que je dors d'un mauvais sommeil et que je vais me réveiller bien soulagé de ma peine en me retrouvant avec mes amis. Oui, sans doute, il faut que j'aie fait sans que je m'en aperçusse un saut de la veille au sommeil, ou plutôt de la vie à la mort. Tiré je ne sais comment de l'ordre des choses, je me suis vu précipité dans un chaos incompréhensible où je n'aperçois rien du tout ; et plus je pense à ma situation présente et moins je puis comprendre où je suis.
Eh ! comment aurais-je pu prévoir le destin qui m'attendait ? comment le puis-je concevoir encore aujourd'hui que j'y suis livré ? Pouvais-je dans mon bon sens supposer qu'un jour, moi le même homme que j'étais, le même que je suis encore, je passerais, je serais tenu sans le moindre doute pour un monstre, un empoisonneur, un assassin, que je deviendrais l'horreur de la race humaine, le jouet de la canaille, que toute la salutation que me feraient les passants serait de cracher sur moi, qu'une génération tout entière s'amuserait d'un accord unanime à m'enterrer tout vivant ? Quand cette étrange révolution se fit, pris au dépourvu, j'en fus d'abord bouleversé. Mes agitations, mon indignation me plongèrent dans un délire qui n'a pas eu trop de dix ans pour se calmer, et dans cet intervalle, tombé d'erreur en erreur, de faute en faute, de sottise en sottise, j'ai fourni par mes imprudences aux directeurs de ma destinée autant d'instruments qu'ils ont habilement mis en oeuvre pour la fixer sans retour. Je me suis débattu longtemps aussi violemment que vainement. Sans adresse, sans art, sans dissimulation, sans prudence, franc, ouvert impatient, emporté, je n'ai fait en me débattant que m'enlacer davantage et leur donner incessamment de nouvelles prises qu'ils n'ont eu garde de négliger. Sentant enfin tous mes efforts inutiles et me tourmentant à pure perte, j'ai pris le seul parti qui me restait à prendre, celui de me soumettre à ma destinée sans plus regimber contre la nécessité. J'ai trouvé dans cette résignation le dédommagement de tous mes maux par la tranquillité qu'elle me procure et qui ne pouvait s'allier avec le travail continuel d'une résistance aussi pénible qu'infructueuse. Une autre chose a contribué à cette tranquillité. Dans tous les raffinements de leur haine, mes persécuteurs en ont omis un que leur animosité leur a fait oublier ; c'était d'en graduer si bien les effets qu'ils pussent entretenir et renouveler mes douleurs sans cesse en me portant toujours quelque nouvelle atteinte. S'ils avaient eu I adresse de me laisser quelque lueur d'espérance ils me tiendraient encore par là. Ils Pourraient faire encore de moi leur jouet par quelque faux leurre', et me navrera ensuite d'un tourment toujours nouveau par mon attente déçue. Mais ils ont d'avance épuisé toutes leurs ressources ; en ne me laissant rien ils se sont tout ôté à eux-mêmes. La diffamation la dépressions, la dérision, l'opprobre dont ils mont couvert ne sont pas plus susceptibles d'augmentation que d'adoucissement ; nous sommes également hors d'état, eux de les aggraver et moi de m'y soustraire. Ils se sont tellement pressés de porter à son comble la mesure de ma misère que toute la puissance humaine, aidée de toutes les ruses de l'enfer, n'y saurait plus rien ajouter. La douleur physique elle-même au lieu d'augmenter mes peines y ferait diversion. En m'arrachant des cris, peut-être, elle m'épargnerait des gémissements, et les déchirements de mon corps suspendraient ceux de mon coeur. Qu'ai-je encore à craindre d'eux puisque tout est fait ? Ne pouvant plus empirera mon état ils ne sauraient plus m'inspirer d'alarmes. L'inquiétude et l'effroi sont des maux dont ils m'ont pour jamais délivré : c'est toujours un soulagement. Les maux réels ont sur moi peu de prise ; je prends aisément mon parti sur ceux que j'éprouve, mais non pas sur ceux que je crains. Mon imagination effarouchée les combine, les retourne, les étend et les augmente. Leur attente me tourmente cent fois plus que leur présence, et la menace m'est plus terrible que le coup. Sitôt qu'ils arrivent, l'événement, leur ôtant tout ce qu'ils avaient d'imaginaire, les réduit à leur juste valeur. Je les trouve alors beaucoup moindres que je ne me les étais figurés, et même au milieu de ma souffrance je ne laisse pas de me sentir soulagé. Dans cet état, affranchi de toute nouvelle crainte et délivré de l'inquiétude de l'espérance, la seule habitude suffira pour me rendre de jour en jour plus supportable une situation que rien ne peut empirer, et à mesure que le sentiment s'en émousse par la durée ils n'ont plus de moyens pour le ranimer. Voilà le bien que m'ont fait mes persécuteurs en épuisant sans mesure tous les traits de leur animosité. Ils se sont ôté sur moi tout empire, et je puis désormais me moquer d'eux.
Voila
bye
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 janv. 2007 à 18:53
18 janv. 2007 à 18:53
Alors tu n'as pas compris.
je n'ai pas besoin de fichier comme ça, puisque ce n'est pas la même chose (je parle de la mise en page, de caractère que j'ai à la fin de ligne)
donc utilise cjoint.com et donne moi le lien pour pouvoir le télécharger
le contenu de ton fichier dans cet état peut générer des résultats imprevisilbes
donc fait un effort
merci
je n'ai pas besoin de fichier comme ça, puisque ce n'est pas la même chose (je parle de la mise en page, de caractère que j'ai à la fin de ligne)
donc utilise cjoint.com et donne moi le lien pour pouvoir le télécharger
le contenu de ton fichier dans cet état peut générer des résultats imprevisilbes
donc fait un effort
merci
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 janv. 2007 à 18:55
18 janv. 2007 à 18:55
et dans mon profil lami20j tu ne vois pas mon e-mail?!
karinn
Messages postés
49
Date d'inscription
samedi 13 janvier 2007
Statut
Membre
Dernière intervention
10 mai 2009
1
18 janv. 2007 à 19:47
18 janv. 2007 à 19:47
voila j'ai trouvé ton adresse mail (en fait tout a leur j m'etais pas identifiée c pour ca)...jt'ai envoyé mon fichier et mon script dessus
bye
bye
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
21 janv. 2007 à 22:49
21 janv. 2007 à 22:49
Salut,
je préfére de mettre le code ici, il pourra peut être servir à d'autres cas
je préfére de mettre le code ici, il pourra peut être servir à d'autres cas
#!/usr/bin/perl use strict;use warnings; my ($compteur1,$compteur2,$compteur3)=(0,0,0); my (@tab_motstapes, @tab_motsfic, @mots_douteux); my %que_dans_tab_motstapes; my ($e,$rep,$fic,$elt3); print "Saisir un texte autrement dit un mot ou une ou plusieurs phrases \n"; $_=<STDIN>; @tab_motstapes=split; # en perl on peut dire de façon naturelle # affiche quelque chose pour chaque élément # d'un tableau print "$_\n" foreach (@tab_motstapes); $compteur1=@tab_motstapes+0; open $fic,'<',"fichier_exo_0107.txt" or die "fichier non ouvert\n"; # je stocke les mots de fichier dans un tableau while (<$fic>) { for $e(split){ push @tab_motsfic,$e; } } # pas besoin de faire un boucle # avec un compteur # en Perl si on utilise le tableau # dans un contexte scalaire on obtient # le nombre d'élémnents $compteur2=@tab_motsfic+0; # ici je vais commencer le traitement # pour obtenir les mots douteux # pour ça j'utilise un hash # vu que les clés d'un hash sont unique # c'est facile de trouver les mots tapés # qui ne se trouve pas dans le fichier @que_dans_tab_motstapes{@tab_motsfic}=(); # donc pour chaque mot tapé # je stocke seulement les mots # qui ne sont pas parmi les clés de hash # ce qui veut dire que sont que dans # le tableau de mots tapés foreach(@tab_motstapes){ push @mots_douteux,$_ unless exists $que_dans_tab_motstapes{$_}; } # toujours tableau en contexte scalaire # nous donne le nombre d'éléments $compteur3 = @mots_douteux+0; print "Le nombre de mots tapes est $compteur1\n"; print "Le nombre de mots du fichier est $compteur2\n"; print "Les mots douteux sont $compteur3\n"; close ($fic); # écriture dans le fichier # open $fic,'>>',"fichier_exo_0107.txt" or die "fichier non ouvert\n"; $compteur3 = 0; foreach $elt3(@mots_douteux) { print "Ces mots @mots_douteux vous sont proposes pour verification.\n"; print "Si son(leur) orthographe est correcte ou qu'il s'agit d'un nouveau mot,\n"; print "dites oui; sinon s'il ya un probleme d'orthographe, refusez\n"; chomp($rep=<STDIN>); if ($rep eq "oui") { print $fic "$elt3\n"; $compteur2++; $compteur3++; } else { $rep="non"; $compteur2=$compteur2; } } print "Le nombre de mots ajoutes au fichier apres leur verification est $compteur3\n"; print "Le nombre de mots du fichier est maintenant de $compteur2\n"; close $fic; __END__ L'utilisation des boucles imbriquées foreach n'est pas souhaitable. J'ai essayé de ne pas trop compliqué ton travail. Cependant je n'ai pas pu m'abtenir d'utiliser certains téchniques Perl Par exemple au lieu de $texte = <STDIN>; chomp ($text); on peut écrire chomp($text = <STDIN>); Pour print, pas besoin d'utiliser les paranthèses on n'est pas en C perl "hello, monde!"; Ca marche aussi perl ("hello, monde!"); mais les paranthèses sont totalement inutiles; Au lieu de $n = $n + 1; on peut écrire $n += 1; et même $n++;