Nous sommes actuellement le 09 Juil 2026, 20:56

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 
Auteur Message
 Sujet du message: raccourcir une fonction...
MessagePublié: 17 Jan 2004, 18:50 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 07 Sep 2002, 10:45
Message(s) : 757
Localisation : Longueuil
Il y a tu qq'un d'assez gentil qui pourrait me montrer comment raccourir cette fonction en C....

si ca ce fait...mais j'en suis sur...

Code :
/* Patieutez....*/

#include <stdio.h>

main()
{
   int i,j;

      i=1;
      j=10000000;
      printf("Veuillez patienter");
         for (i=0;i<j;i++){
         printf("");
      }
      printf(".");
      for (i=0;i<j;i++){
         printf("");
      }
      printf(".");
      for (i=0;i<j;i++){
         printf("");
      }
      printf(".");
         for (i=0;i<j;i++){
         printf("");
      }
      printf(".\n\n\n\n\n");
      return 0;
}


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Jan 2004, 20:35 
Hors-ligne
Modérateur
Modérateur
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 15:10
Message(s) : 3551
Localisation : Beauport, Québec
Je ne suis pas certain de l'utilité exact, mais bon, je crois que ceci répond à ce que tu veux:

Code :
#define T 10000000
#include <stdio.h>

main()
{
   int i;
   long j;

   printf("Veuillez patienter");
   for (i=0; i<=3; i++)
   {
      printf(".");
      for (j=0;j<T;j++){printf("");}
   }
   printf("\n\n\n\n\n");
   return 0;
}



J'ai mis un long au lieu d'un int pour la variable j parce que le int sur mon compilateur est à 16 bits et ne peux donc pas compter jusqu'à plus de 32000 et des poussières.

_________________
Procyon,
Modérateur de la section Trouvailles


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Jan 2004, 23:01 
Hors-ligne
Fidèle
Fidèle
Avatar de l’utilisateur

Inscription : 07 Sep 2002, 10:45
Message(s) : 757
Localisation : Longueuil
ca sert absolument à rien, sauf peut-être rajouter une petite fantaisie...


c'est que je débute en C et je ne comprend pas grand chose...

ca me rentre très mal dans la tête et je trouve ca plutôt violent...j'ai vraiment pas la logique du programmeur j'ai bien l'impression...


d'ailleurs, si il y a quelque mentor dans le coin qui sont prêt à m'aider un peu....ou beaucoup... :oops:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 18 Jan 2004, 15:27 
Hors-ligne
Occasionnel
Occasionnel

Inscription : 08 Jan 2002, 22:43
Message(s) : 140
Localisation : Québec
Citer:
J'ai mis un long au lieu d'un int pour la variable j parce que le int sur mon compilateur est à 16 bits et ne peux donc pas compter jusqu'à plus de 32000 et des poussières.


Quel est ce compilateur au comportement anarchique? (il me semble que les int 16 bits... j'ai pas vu ca depuis des lustres)


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 18 Jan 2004, 22:01 
Hors-ligne
Modérateur
Modérateur
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 15:10
Message(s) : 3551
Localisation : Beauport, Québec
blacklight a écrit:
Citer:
J'ai mis un long au lieu d'un int pour la variable j parce que le int sur mon compilateur est à 16 bits et ne peux donc pas compter jusqu'à plus de 32000 et des poussières.


Quel est ce compilateur au comportement anarchique? (il me semble que les int 16 bits... j'ai pas vu ca depuis des lustres)


Archaique vous dites?

Le voici:

http://community.borland.com/article/0, ... 41,00.html

Héhé!

_________________
Procyon,
Modérateur de la section Trouvailles


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 18 Jan 2004, 22:18 
Hors-ligne
Occasionnel
Occasionnel

Inscription : 08 Jan 2002, 22:43
Message(s) : 140
Localisation : Québec
Ha.... turbo C ; ca rappelle des souvenirs. ... avec quelques mauvais souvenirs; etant donne que la gestion memoire y est tellement ridicule. (blocs de 64k et pointeurs huge?) Enfin; je crois plutot que c'est le mode 16 bits du DOS qui etait a la base de cet aspect douteux :?

Pour compiler du C; decemment, avec des produits plus recents; je suggere "gcc" ; c'est gratuit aussi...


Haut
 Profil  
Répondre en citant  
 Sujet du message: Re: raccourcir une fonction...
MessagePublié: 24 Jan 2004, 00:29 
Hors-ligne
Occasionnel
Occasionnel

Inscription : 18 Jan 2002, 12:45
Message(s) : 105
Localisation : St-Romuald (Lévis)
Morgoth a écrit:
Il y a tu qq'un d'assez gentil qui pourrait me montrer comment raccourir cette fonction en C....

si ca ce fait...mais j'en suis sur...

Code :
/* Patieutez....*/

#include <stdio.h>

main()
{
   int i,j;
        i=1;
      j=10000000;
      printf("Veuillez patienter");
         for (i=0;i<j;i++){
         printf("");
      }
      printf(".");
      for (i=0;i<j;i++){
         printf("");
      }
      printf(".");
      for (i=0;i<j;i++){
         printf("");
      }
      printf(".");
         for (i=0;i<j;i++){
         printf("");
      }
      printf(".\n\n\n\n\n");
      return 0;
}


Oui ca se simplifie facilement, puisque tu as 4 fois la même boucle for, il te suffit de faire une autre boucle autours de celle-ci. Il est très fréquent d'imbriquer plusieurs boucles. Le code raccourci est donc :
Code :

#include <stdio.h>

main()
{
        int i,j;
        int k;
        i=1;
        j=10000000;
        printf("Veuillez patienter");
        for (k=0; k < 4; h++)
        {// répète 4 fois le bloc de code qui suit

                for (i=0;i<j;i++)
                 {
                        printf("");
                }
                printf(".");
        }
        printf("\n\n\n\n\n");
        return 0;
}


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 24 Jan 2004, 02:02 
Hors-ligne
Modérateur
Modérateur
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 15:10
Message(s) : 3551
Localisation : Beauport, Québec
Voici une petite alternative intéressante je crois. Je ne connais pas le reste du programme que tu veux faire mais il pourrait y'avoir de bonne améliorations à mon code suivant un contexte défini. Par exemple, si tu sais combien de boucles tu vas faire, tu pourrais calculer facilement un pourcentage de complété et le passer en paramètre pour l'afficher. Aussi, présentement les points s'Ajoutent tant que ça roule, y'aurait moyen de faire afficher un point, puis deux, puis trois et ensuite effacer le troisième, le deuxième et le premier et recommencer, par exemple.


Code :
#define T 2 /* Temps a ecouler entre les points en secondes*/
#include <stdio.h>
#include <time.h>

main()
{
   long i=-1, x;

   for (x = 0; x < 10000000; x++)
   {
      printf("");
      /* Faire les étapes à faire dans cette boucle */
      i = Patience(i);
   }

   return 0;
}

long Patience(long last)
{
   clock_t now;

   if (last < 0) {last = clock(); printf("Patientez");}

   now = clock();

   if ((double)((now-last)/CLK_TCK) > T) {putc('.', stdout); last=now;}

   return last;

}

_________________
Procyon,
Modérateur de la section Trouvailles


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 8 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site