begin process at 2012 05 30 01:40:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Problème d'Affichage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème d'Affichage

samedi 10 novembre 2007 à 09:37:48 | Problème d'Affichage

temac

Bonjour,

j'ai un petit problème. J'ai un code où il y a trois options en fonctions de l'argument choisi. De façon indépendante elles marchent mais une fois mise ensemble cela ne m'affiche plus rien, le programme ne retrant pas mes conditions. Si quelqu'un pouvait me dire d'où ça vient.

Merci d'avance.

Mon code :

#include <stdio.h>                                         
#include <stdlib.h>
#include <time.h>

int    Random (int _iMin, int _iMax)
{
  return (_iMin + (rand () % (_iMax-_iMin+1)));
}

int    main(int argc, char **argv)
{
  int resultats_a[20];
  int resultats_b[20];
  int i;
  int j;
  int iRandom;
  int results;
  int total;
  int Pa;
  int temp;
 
  i = 0;
  j = 0;
  srand(time(NULL));
  if(*argv[1] == 1)
    {
      printf("Vecteur A : ");
      while(i <= *argv[2])
    {
      iRandom = Random (-9, 9);
      resultats_a[j] = iRandom;
      printf(" %d", iRandom);
      j++;
      i++;
    }
      i = 0;
      j = 0;
      printf("\nVecteur B : ");
      while(i <= *argv[2])
    {
      iRandom = Random (-9, 9);
      resultats_b[j] = iRandom;
      printf(" %d", iRandom);
      j++;
      i++;
    }
      printf("\n");
      i = 0;
      j = 0;
      if(i == 0)
    printf("Valeur de A + B : ");
      while(i <= 6)
    {
      results = resultats_a[i] + resultats_b[j];
      printf(" %d", results);
      i++;
      j++;
    }
    }
  printf("\n");
  if(*argv[1] == 2)
    {
      i = 0;
      j = 0;
      srand(time(NULL));
      printf("Nombre P : ");
      scanf("%d", Pa);
      printf("Vecteur A : ");
      while(i <= *argv[2])
    {
      iRandom = Random (-9, 9);
      resultats_a[j] = iRandom;
      printf(" %d", iRandom);
      j++;
      i++;
    }
      i = 0;
      j = 0;
      if(i == 0)
    printf("Vecteur p.A: ");
      while(i <= *argv[2])
    {
      results = resultats_a[i] * Pa ;
      printf(" %d", results);
      i++;
      j++;
    }     
    }
  if(*argv[1] == 3)
    {
      i = 0;
      j = 0;
      srand(time(NULL));
      printf("Vecteur A : ");
      while(i <= *argv[2])
    {
          iRandom = Random (-9, 9);
          resultats_a[j] = iRandom;
          printf(" %d", iRandom);
          j++;
          i++;
        }
      i = 0;
      j = 0;
      printf("\nVecteur B : ");
      while(i <= *argv[2])
        {
          iRandom = Random (-9, 9);
          resultats_b[j] = iRandom;
          printf(" %d", iRandom);
          j++;
          i++;
        }
      i = 0;
      j = 0;
      temp = 0;
      while(resultats_a[i] & resultats_b[j])
    {
      total = resultats_a[i] * resultats_b[j];
      temp = temp + total;
      i++;
      j++;
    }
      printf("\nProduit scalaire (A,B) : %d", temp);
    }    
}
samedi 10 novembre 2007 à 13:54:27 | Re : Problème d'Affichage

gamemonde

Membre Club
if(*argv[1] == 1) devrai plutot etre if (strcmp(argv[1],"1"))
samedi 10 novembre 2007 à 14:42:54 | Re : Problème d'Affichage

luhtor

if(*argv[1] == '1') plutot.

samedi 10 novembre 2007 à 14:44:26 | Re : Problème d'Affichage

gamemonde

Membre Club
c'est la meme chose soit tu verifie le premier caractere ou comme moi la chaine au complet
samedi 10 novembre 2007 à 14:57:31 | Re : Problème d'Affichage

SAKingdom

Membre Club
Non ce n'est pas la même chose. Le problème avec la méthode de luhtor c'est que si il entre 14, il sera considéré comme un 1.
Le problème avec ta méthode c'est le strcmp. Premièrement, strcmp retourne 0 si les chaines sont identiques. Ensuite, même si cette fonction sera probablement "inlinée", je doute que ce soit plus rapide que:

if(argv[1][0] == '1' && !argv[1][1])

ou

if(!argv[1][1]) {
    if(*argv[1] == '1')
    ...
    else if(*argv[1] == '2')
    ...
    else if(*argv[1] == '3')
    ...
}

pour ainsi englober tout les tests sur argv.

C++ (@++)

samedi 10 novembre 2007 à 16:00:51 | Re : Problème d'Affichage

gamemonde

Membre Club
a oui j'ai taper trop vite jai oublier le ! avant la fonction

je suis d'accord que strcmp est moin rapide que verifier 2 caractere directement
mais il ne faut jamais prevoir qu'il y aura que 2 caracteres car il pux avoir 800 ou 1234
et un strcmp au debut du programme et utilisé qu'une fois ne fera pas trop de difference surtout dans ce type de code
samedi 10 novembre 2007 à 16:37:01 | Re : Problème d'Affichage

SAKingdom

Membre Club
Non strcmp sera utilisé pour chaque test sur argv[1] donc, ici, jusqu'à 3 fois (dans le cas de l'utilisation des else if)
Ensuite, oui c'est sûr que l'on ne peux prévoir mais ici, il ne sagit que d'un simple menu qui reste assez basique donc il n'y aura pas 800 possibilitées.

C++ (@++)



Cette discussion est classée dans : int, printf, while, resultats, irandom


Répondre à ce message

Sujets en rapport avec ce message

Probleme de reception dans un serveur visual C++ pour windows [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi.voici les source du client et du serveurLe Serveur Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois Bitwise... [ par MeltedMind ] Wise ou not wise là est la question.Je me demandais... sur le fonctionnement primaire de nos petites machines. 1+ 1 = 10, c'est bien connu mais comme aide pour une liaison serie [ par punch95 ] J'ai trouvé un source c pour une liaison serie d'un beck sc12 et j'aimerai que l'on me commente le source si c possible merci./*********************** sturnarbo [ par sturnarbo ] ENONCE:/*Ecrire un programme qui range les éléments d'un tableau A du type int dansl'ordre inverse. Le programme utilisera des pointeurs P1 et P2 et u demande de correction de programme [ par gemini010 ] slt a tous, je dois créer un programme avec differente fonctions et structures permettant de gerer des etudiants ( on doit pouvoir ajouter des enregis aidez moi svp [ par asnow ] Q'un aurait-il la gentillesse de me traduire ce code, en algorithme. merci d'avance.int i=0;int x=random(10);int y=random(10);int type_pos=random(2);i concatenation [ par asmv ] //a partir d'elements de tableau 'int' transformes en 'char'//essai de concatenation qui ne fonctionne pas pourquoi ?//merci pour votre aide#include # Blem Somme ELmt d'un Tableau Bidimensionnel [ par Orezza ] Slt c encore moi, le boulet de l'info...c tjrs le meme prog mais cette fois ci j'aimerais afficher la somme des elmts de mon tableaux.#include #includ Hachage fermé problème de lecture [ par mcflysupersonic ] Bonjour je suis nouveau sur le forum est ceci est ma première question donc j'espère que je ne me suis pas trompé d'endroit pour poster.Voilà j'ai un


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales