Aide sur la traduction en langage C

Fermé
sana - 18 nov. 2004 à 21:21
 soulou - 28 juil. 2010 à 00:24
bonsoir a tou le monde
svp pouvez vous m'aide sur un probleme de traduction en langage C ?
SVP pouvez vous m’aider sur ce problème que je dois traduire en langage C (et que j’ai pas compris) et il sera noté pour ce samedi 20 svp :
Problème :
Recherche d’une valeur dans un tableau :
Rechercher dans un tableau A de n éléments une valeur VAL avec :
 afficher un message indiquant si la valeur se trouve ou pas
 afficher l’indice (ou la position) de VAL si elle se trouve dans le tableau sinon afficher un message correspondant .
 on retient l’indice de la première occurrence de VAL : il faut utiliser une variable POS pour mémoriser la position (indice) de VAL dans le tableau , ‘’POS’’ aura la valeur
(-1) aussi longtemps que VAL n’a pas été trouver.
A voir également:

3 réponses

#include <stdio.h>
main ()
{
int A[100];
int VAL;
int trouve ;
int i ;
for (i=0 ; i<100 ; i++)
{
printf("introduire une valeur ");
scanf ("%d" , &A[i]);
}
printf ("quelle valeur cherchez vous ");
scanf ("%d" , &VAL);
trouve=0;
for (i=0 ; i<100 ; i++)
{
if (A[i] ==VAL)
trouve =1;
}
if (trouve ==1)
printf ("valeur trouvée");
else
printf ("valeur non trouvée");
}

c'est tout ce que j'ai pu faire nico alors aide moi juste poiur l'astuce ou il fut retenir l'indice de la première occurence de VAL et utiliser une variable POS pour memoriser la position (indice) de VAL dans le tableau ; 'POS'' aura la valeur (-1) aussi longtemps que VAL n'a pas éte trouver.
merci pour ta reponse et si vous pouvez m'aider avant cette apres midi car je dois le rendre demain .
bonne journée.
3
maily Messages postés 7556 Date d'inscription lundi 26 juin 2000 Statut Contributeur Dernière intervention 23 juin 2023 453
19 nov. 2004 à 11:17
Bonjour!!

voilà:

#include <stdio.h>
main ()
{
int A[100];
int VAL;
int trouve ;
int i ;
int pos=-1;
for (i=0 ; i<100 ; i++)
{
printf("introduire une valeur ");
scanf ("%d" , &A[i]);
}
printf ("quelle valeur cherchez vous ");
scanf ("%d" , &VAL);
trouve=0;
for (i=0 ; i<100 ; i++)
{
   if (A[i] ==VAL){
       trouve =1;
       pos=i;
       break; // pour arreter la boucle vu qu'on a trouvé la valeur!!!
    }
}
if (trouve ==1)
printf ("valeur trouvée");
else
printf ("valeur non trouvée");
} 


Maily :-))))
Boumj'chtattrape
0
Salut,

Un coup de main, tu me me traduire cela....?
On peu changer le scirpt java pour craquer le jeu...?
Merci d' avance
0
Salut,

Je veux bien te donner un coup de main mais c'est a toi de comprendre les choses, je ne t'ecrirais pas ton code en entier ;-)

Ton probleme est vraiment simple ... je te prospose que tu poses tes questions, ce que tu comprends pas ... et j'y repondrais !!!

@+
Nico
0
Tranquille, respire ca sera fini avant demain ;-)

#include <stdio.h>
main ()
{
int A[100];
int VAL;
int trouve ;
int i ;
for (i=0 ; i<100 ; i++)
{
printf("introduire une valeur ");
scanf ("%d" , &A[i]);
}
printf ("quelle valeur cherchez vous ");
scanf ("%d" , &VAL);
trouve=0;
for (i=0 ; i<100 ; i++)
{
if (A[i] ==VAL)
trouve =1;
}
if (trouve ==1)
printf ("valeur trouvée");
else
printf ("valeur non trouvée");
}

Bon, ton code a l'air bien, si ce n'est que tu vas pas t'amuser a rentrer 100 valeurs a la main !!!!!!!!!!!!!!! test le sur 10 valeurs c'est suffisant ...
Tu as fait les 9/10, pour l'indice c'est pas compliqué ...
Puisque que tu parcours ton tableau, avec i de 0 à 99, i represente ton indice, non !!!??? d'ou :

#include <stdio.h>
main ()
{
int A[100];
int VAL;
int trouve ;
int i ;
int POS=-1;

for (i=0 ; i<100 ; i++)
{
printf("introduire une valeur ");
scanf ("%d" , &A[i]);
}
printf ("quelle valeur cherchez vous ");
scanf ("%d" , &VAL);
trouve=0;
for (i=0 ; i<100 ; i++)
{
if (A[i] ==VAL)
trouve =1;
POS=i
}
if (trouve ==1)
printf ("valeur trouvée à la position %d",POS);
else
printf ("valeur non trouvée");
}

ct quand mm pas compliqué, j'espere que tu as compris ....
@+
0
ais est ce qu'on peut metre( break ; ) juste aprés (POS=i) pour que que la boucle s'arrete des qu'on trouve la valeur.
0
Bien sur ...
sans probleme ;-)

Nico
0