Rechercher : dans
Par :

Aide sur la traduction en langage C

Dernière réponse le 8 mar 2009 à 15:00:05 sana, le 18 nov 2004 à 21:21:56 
 Signaler ce message aux modérateurs

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.

Meilleures réponses pour « aide sur la traduction en langage C » dans :
Langage C++ - Les types de données Voir Les types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données Voir Les types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Introduction au langage C VoirPetite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie...
Langage C - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage C sont typées, c'est-à-dire que les données contenues dans...

1

nico, le 19 nov 2004 à 10:01:02

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

Répondre à nico

2

sana, le 19 nov 2004 à 11:14:07

#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.

Répondre à sana

3

maily, le 19 nov 2004 à 11:17:51

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

Répondre à maily

4

nico, le 19 nov 2004 à 11:22:26

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 ....
@+

Répondre à nico

5

sana, le 19 nov 2004 à 20:57:02

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.

Répondre à sana

6

nico, le 19 nov 2004 à 21:04:03

Bien sur ...
sans probleme ;-)

Nico

Répondre à nico

7

 ernesto1989, le 8 mar 2009 à 15:00:05

Bonsoir a tou le monde
svp pouvez vous m'aide sur un probleme de traduction en langage C ?
SVP pouvez vous m’aider sur ses fonction et procedure que je dois traduire en langage C (et que j’ai pas compris) et il sera noté pour ce jeudi 12 .
Vous devez traduire en C, les fonctions et procédures vues dans le précédent travail dirigé et qui vous sont remémorées ci-après. Vous devez utilisez ChIDE et construire un programme (avec une fonction main()) afin d'effectuer un jeu de tests. Réaliser la correction des algorithmes et du programme si besoin. Un test vous est imposé; rangez les valeurs suivantes dans le tableau T, en respectant l'ordre:

30 20 5 15 3

Puis effectuez le tri.

ChIDE propose un Environnement Intégré de Développement (IDE) qui comprens un éditeur, un compilateur, une fenêtre d'exécution et, surtout, un outil d'aide à la correction du programme (débugger). Le débugger permet de suivre pas à pas l'exécution de votre programme, alors, n'hésitez pas à vous en servir!

procédure saisirTab (↑T : tableau de réels, ↓N : entier)
variables locales
i : entier
début
pour i de 1 à N faire
Saisir(T[i]) // saisie d'un réel
finPour
fin

procédure afficherTab(↓T : tableau de réels, ↓N : entier)
variables locales
i : entier
début
pour i de 1 à N faire
Afficher(T[i]) // Affichage d'un réel
finPour
fin

procédure minETmax(↓T : tableau de réels,
↓BI : entier,
↓BS : entier,
↑imin : entier,
↑imax : entier)
début
imin ← minTab(T, BI, BS)
imax ← maxTab(T, BI, BS)
fin

fonction minTab(↓T : tableau de réels, ↓BI : entier, ↓BS : entier): entier
variables locales
indice : entier // position du minimum
début
indice ← BI
pour i de BI+1 à BS faire
si T[i]<T[indice] alors indice ← i finSi
finPour
retourner indice
fin

fonction maxTab(↓T : tableau de réels, ↓BI : entier, ↓BS : entier): entier
variables locales
indice : entier // position du maximum
début
indice ← BI
pour i de BI+1 à BS faire
si T[i]>T[indice] alors indice ← i finSi
finPour
retourner indice
fin

procédure permuTab(↕T: tableau de réels, ↓pos1: entier, ↓pos2: entier)
variables locales
temp: réel
début
temp ←T[pos1]
T[pos1] ←T[pos2]
T[pos2] ←temp
fin

procédure triTab(↕T: tableau de réels, ↓N: entier)
variables locales
BI, BS, posMin, posMax: entier
début
pour BI de 1 à (N div 2) faire
BS ← N-BI+1
minETmax(T, BI, BS, posMin, posMax)
permuTab(T, BI, posMin)
si posMax=BI alors // dans ce cas, le max a été déplacé en posMin
permuTab(T, posMin, BS)
sinon // le max n'a pas bougé
permuTab(T, posMax, BS)
finSi
finPour
fin
merci d'avance c urgane svp et j'ai rien compri merci bcp

Répondre à ernesto1989