A voir également:
- Bonsoir!pour les gens qui sont fort en c.. besoin a votre aide
- Musique shrek 2 arrivée fort fort lointain - Forum Musique / Radio / Clip
- Son plus fort à gauche qu'à droite ecouteur bluetooth ✓ - Forum Audio
- J'ai un ecouteur plus fort que l'autre - Forum Huawei
- Comment voir les gens qui ont vu notre profil instagram - Guide
- Comment savoir les gens qui visite mon profil facebook - Guide
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
Modifié par fiddy le 17/12/2012 à 08:35
Modifié par fiddy le 17/12/2012 à 08:35
C'est à toi de faire les contrôles.
Le plus sûr est de lire une chaîne de caractère avec fgets() et de convertir avec strtol (). Je te laisse creuser la piste car c'est un exercice intéressant. Si t'y arrives pas je te donnerai un exemple ce soir.
Pour le graph, il te faudra une bibliothèque spéciale. Mais cela sort de la compétence C. Il y a beaucoup plus simple et adapté comme langage.
Google is your friend
Le plus sûr est de lire une chaîne de caractère avec fgets() et de convertir avec strtol (). Je te laisse creuser la piste car c'est un exercice intéressant. Si t'y arrives pas je te donnerai un exemple ce soir.
Pour le graph, il te faudra une bibliothèque spéciale. Mais cela sort de la compétence C. Il y a beaucoup plus simple et adapté comme langage.
Google is your friend
ok merci je vais ressayer mais si vous pouvez menvoyez ce petit programme pour resoudre ce problém le soir ..
salut
voici ce petit programme qui renvoi la page ou se trouve un element x s'il figure dans le tableau :
.....
#define n 10000
#define faux 0
#define vrai 1
int T[n];
/*nobre_pag le nombre de pages */
/*k etant une partie du tableau k on va utilisé*/
/* chaque page ne contient que 23 élements , pour cela une variable cmp est une boucle de 23 */
void page (k)
{
int nbre_pag;
nbr_pag=k/23;
int trouve;
int v,j;
int i=0;
int cmp=0;
printf("veuillez saisir l''element que vous cherchez ");
scanf("%d",&v);
trouve=faux;
do{
for(p=0;p<k;p++)
{
for(i=0;i<nbr_page;i++)
{
for(j=0;j<23;j++)
{
if (T[p]==v)
trouve=vrai;
}
}
}
}while(touve=faux);
printf("l lement %d se trouve sur la page %d",v,i);
}
il est ou le problem dans ce programme!
voici ce petit programme qui renvoi la page ou se trouve un element x s'il figure dans le tableau :
.....
#define n 10000
#define faux 0
#define vrai 1
int T[n];
/*nobre_pag le nombre de pages */
/*k etant une partie du tableau k on va utilisé*/
/* chaque page ne contient que 23 élements , pour cela une variable cmp est une boucle de 23 */
void page (k)
{
int nbre_pag;
nbr_pag=k/23;
int trouve;
int v,j;
int i=0;
int cmp=0;
printf("veuillez saisir l''element que vous cherchez ");
scanf("%d",&v);
trouve=faux;
do{
for(p=0;p<k;p++)
{
for(i=0;i<nbr_page;i++)
{
for(j=0;j<23;j++)
{
if (T[p]==v)
trouve=vrai;
}
}
}
}while(touve=faux);
printf("l lement %d se trouve sur la page %d",v,i);
}
il est ou le problem dans ce programme!
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
18 déc. 2012 à 16:03
18 déc. 2012 à 16:03
Salut.
Je ne comprend rien à ton algorithme :
quel est l'interet des boucles i et j sachant que tu ne modifie rien.
Si l'élément n'existe pas, tu tournes en rond avec while jusqu'à ce qu'il trouve sans pour autant modifier quoi que ce soit. Et pour et finir, et non des moindre,
while(trouve=faux) correspond à une affectation qui fait que tu sortira de ton while à la première boucle (C'est à dire que ta boucle while est inutile).
on verra pour la protection de l'entrée clavier et du graphe par la suite.
Je ne comprend rien à ton algorithme :
quel est l'interet des boucles i et j sachant que tu ne modifie rien.
Si l'élément n'existe pas, tu tournes en rond avec while jusqu'à ce qu'il trouve sans pour autant modifier quoi que ce soit. Et pour et finir, et non des moindre,
while(trouve=faux) correspond à une affectation qui fait que tu sortira de ton while à la première boucle (C'est à dire que ta boucle while est inutile).
on verra pour la protection de l'entrée clavier et du graphe par la suite.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
24 déc. 2012 à 13:13
24 déc. 2012 à 13:13
Euh, ça m'étonnerait fort que ça marche correctement.
Ya pleins d'erreurs dans le code. La plus grosse étant sans doute : c!="%d"...
Ya pleins d'erreurs dans le code. La plus grosse étant sans doute : c!="%d"...
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
24 déc. 2012 à 15:51
24 déc. 2012 à 15:51
Tu ne me feras pas gober que c'est grâce à ça que ta tâche est résolue.
Si c'est le cas, c'est que tu as un problème en amont. En tout cas, ton code c'est vraiment archi faux. Ton compilateur doit le signaler...
Je te donne un code fonctionnel bien plus propre :
Ce n'est pas top (car fait à l'arrache), mais au moins ça compile proprement.
Si c'est le cas, c'est que tu as un problème en amont. En tout cas, ton code c'est vraiment archi faux. Ton compilateur doit le signaler...
Je te donne un code fonctionnel bien plus propre :
#include <stdio.h> int main (int argc, char ** argv) { long k; int ret=0; while(ret!=1 || k<=0){ int c; printf(" donner la taille du tableau : " ); ret=scanf("%ld",&k); while ( ((c = getchar()) != '\n') && c != EOF); } printf("%ld\n",k); return 0; }
Ce n'est pas top (car fait à l'arrache), mais au moins ça compile proprement.
Ouais enfin ,parfois on peut aller du faux pour prouver et en trouve des résultats qui marchent.. je suis po convaincu par ma fonction mais je ça ma aidé à m'en débrouiller ..enfin quand j l'utilise pour insérer manuellement des éléments dans un tableau des entiers..elle ne fait que convertir en décimal si je fais entrer par exemple des caractère.je vais réessayer a nouveau avec cette nouvelle solution..en fait j'ai po pu arriver a votre résultat puiske je suis toujours amateur en C. merci
18 déc. 2012 à 14:59