Aller au contenu

Le Bar de la programmation


Messages recommandés

Ouais ya de l'idée, mais c'est pas trop ça qu'il me faut... Si j'ai bien compris le prototype de strncmp:

int strncmp(const char *s1, const char *s2, size_t  maxlen);

Ca compare le premier paramètre au second à la manière d'strcmp et ça rajoute une condition pour être valide, ne pas dépasser le longueur du 3ème paramètre...

Si c'est bien ça, c'est pas trop ça dont j'ai besoin... Moi je veux juste regarder une chaine contenue dans une var, et voir si elle correspond à une autre chaine parmis plusieurs (ouch) ...

Enfin bref, je continu à chercher du côté des expressions régulières...

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 745
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Meilleurs contributeurs dans ce sujet

Bah demande aux chercheurs de l'Inria quel est le langage le plus adapté pour réaliser des applications de traitement du signal, de modélisation de phénomènes de propagations de la lumière ou des ondes radio...regarde la taille du code en C/C++/Java/Ada/... et en OCAML...on en reparle après :francais:

Je fais la même :

Regarde l'efficacité d'un programme en assembleur ou dans un autre langage sur un PIC16F84. Conclusion, tous à l'assembleur... :craint::musique:

Lien vers le commentaire
Partager sur d’autres sites

Bah demande aux chercheurs de l'Inria quel est le langage le plus adapté pour réaliser des applications de traitement du signal, de modélisation de phénomènes de propagations de la lumière ou des ondes radio...regarde la taille du code en C/C++/Java/Ada/... et en OCAML...on en reparle après :mdr:

Je sais tres bien :non:

Il me le dise assez souvent en Licence math-info :s

Mais j'avoue que je preferes d'autres langages --> je preferes carrement utiliser l'assembleur si je dois prendre autres chose que C, C++,java etc... :non:

Lien vers le commentaire
Partager sur d’autres sites

Ptite question ...

Pourquoi ça, ça fonctionne :

Scanner scanner = new Scanner(System.in);
System.out.println("chaine : ");
String tit = scanner.nextLine();

System.out.println("largeur : ");
int largeur = scanner.nextInt();		

mais pas ça :

Scanner scanner = new Scanner(System.in);
 System.out.println("largeur : ");
int largeur = scanner.nextInt();	

System.out.println("chaine : ");
 String tit = scanner.nextLine();   

Dans le premier cas j'peux rentrer ce qu'il faut ... ma chaine, mon int ...

Mais dans le second, je rentre l'int ... et paf, il termine le programme ...

Notez qu'avec scanner.next(); , il n'y a pas le problème ... Mais bon, j'peux lire qu'un mot alors :(

Merci

Lien vers le commentaire
Partager sur d’autres sites

Bah demande aux chercheurs de l'Inria quel est le langage le plus adapté pour réaliser des applications de traitement du signal, de modélisation de phénomènes de propagations de la lumière ou des ondes radio...regarde la taille du code en C/C++/Java/Ada/... et en OCAML...on en reparle après :love:

Salut les gars,

Perso dans mon labo, ils te répondront tous Matlab. :D

C'est impressionnant comment ce langage est optimisé.

Y a pas longtemps, j'ai fait un algo de résolution par force brute d'une grille de sudoku.

J'ai un pote qu'a utilisé la même technique codée en C++.

Mon algo possède une interface graphique et met moins d'une seconde à afficher toutes les solutions :byebye:

Le sien met 10 secondes pour toutes les trouver. sans interface graphique.. :-D

Et pourtant ce gars là était le meilleur de sa promo en programmation et a été embauché à France télécom avant sa sortie (pour dire que c'est po une quiche quand même :fumer: ).

Dommage que ca soit aussi cher comme plateforme de programmation

Lien vers le commentaire
Partager sur d’autres sites

C'est le comportement normal.

Dans le premier cas, tu entres une ligne avec une chaîne, elle est lue entièrement par le readLine() (jusqu'à la fin de la ligne), le buffer est donc vide. Ensuite, tu entres un int dans le buffer, que tu lis avec nextInt(). Aucun problème.

Maintenant, le deuxième cas est plus intéressant. Tu lui dis de lire un int, puis "tout le reste de la chaîne jusqu'à la fin de la ligne" (avec readLine()). Là, deux cas :

- soit tu as juste tapé "52" par exemple pour ton int, auquel cas il ne reste plus rien dans le buffer -> readLine lit une chaîne vide.

- soit tu as tapé "52 toto" par exemple, et là ta chaîne est bien récupérée et vaut "toto".

Jusque-là, on a le comportement normal, même si ça t'étonne.

Pour lire un entier puis une chaîne, tu peux donc :

- utiliser next() pour la chaîne (mais ça lira un seul mot délimité par les espaces),

- utiliser readLine() mais tout doit être entré sur la même ligne.

Comme d'habitude, tout est expliqué dans la javadoc :

http://java.sun.com/j2se/1.5.0/docs/api/ja...il/Scanner.html

Lien vers le commentaire
Partager sur d’autres sites

Perso dans mon labo, ils te répondront tous Matlab. :transpi:

C'est impressionnant comment ce langage est optimisé.

Oui enfin ton exemple est particulier...

Par ce que bon, matlab tout comme mathematica ou mapple, c'est vraiment pas les plus rapides... Encore moins comparé à du C, qui est la référence dans le domaine des langages pas trop bas niveau (ie sans compter l'assembleur et l'hexa) en matière de rapidité.

Et puis bon, comparer de l'interprété et du compilé...

Et ton pote qui mets 10s à trouver, il a beau être major de promo ou président de la république, il s'y est pris comme un pied. Suffit pas d'optimiser le codage, il faut aussi avoir un bon algorithme de base.

Essaye ce source là plutôt :

http://www.pcinpact.com/forum/index.php?sh...5entry1270675

Lien vers le commentaire
Partager sur d’autres sites

Et ton pote qui mets 10s à trouver, il a beau être major de promo ou président de la république, il s'y est pris comme un pied. Suffit pas d'optimiser le codage, il faut aussi avoir un bon algorithme de base.

+1000, tu pourra mettre tous les -03 que tu veux, la meilleure optimisation reste de faire un bon algo.

Au passage j'ai fait un chti programme de résolution de sodoku en C, et c'est pas en 10s qu'il trouve en général mais en baucoup moins, mais j'ai passé plus de temps sur les algos que sur le code et ca tu n'as pas besoin d'être major de promo pour le comprendre :byebye:

Sinon j'ai déjà programmé en matlab, je ne trouve pas que c'est si rapide que ca, c'est très orienté mathématiques soit, mais mieux vaut utiliser les fonctions de matlab car par exemple dès que tu "for" ca comence à prendre pas mal de cycles processeurs (ils le disent eux même dans la doc de programmation).

Ah oui un truc marrant aussi en Matlab: c'est objets..... oui.... c'est ça.... bah lorsque tu viens de Java et que tu vois comment il les traite les objets, bah tu pleures :zarb: mais bon en même temps tu ne lui demandes pas les même choses qu'à Java non plus.

(version R14 je sais plus quoi donc ça a peu être changé depuis :pleure: )

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse Sentinel.

J'avais été voir dans la Javadoc mais je n'ai pas trouvé ... où alors je ne l'ai pas comprise ;-)

Mais je ne comprend toujours pas comment faire pour par exemple lire un int et ensuite une chaine (de plusieurs mots).

Je fais mon nextInt(); ... et ensuite ?

Merci :transpi:

Lien vers le commentaire
Partager sur d’autres sites

mieux vaut utiliser les fonctions de matlab car par exemple dès que tu "for" ca comence à prendre pas mal de cycles processeurs (ils le disent eux même dans la doc de programmation).
Ouais, en même temps, matlab, c'est pas fait pour faire des for, il faut éviter.

On utilise des vecteurs en général à la place :transpi:

Lien vers le commentaire
Partager sur d’autres sites

Une ptite question en langage C --> comment je peux faire pour lire les 10 dernieres lignes d'un fichier, c'est genre recoder un tail en gros !!!

J'arrive à un faire un programme qui prend en paramatre un fichier et qui m'affiche sont contenu mais la je bloque sur ce ptit detail qui ne doit pas etre dur a coder :p

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...