Tableau entier & Nombres paires !?? [Résolu]

Signaler
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008
-
cpp26
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008
-
Salut,

Un  prophesseur ma donner un exercice,ce dernier et de: lire un tableau entier!!

Et afficher les nombres paires.


Ahh qeul STAGE on été avec un professeur-langage C.

J'ai besoin de votre aide, OUI je n'ai pas fais bcp d'eaissai mais c'est par ce ke je ne sais pas koi fair..
Merci

14 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
14
Bonjour.
En général quand on fait une fonction de recherche on revoit -1 si l'élement n'est pas trouvé et sinon l'indice de la première valeur trouvée.

int to_seek(int seek_it, int *tab, int len)
{
int i;
for (i = 0; i < len; i++)
{
if (tab[i] == seek_it)
return i;
}
return -1;
}
int res = to_seek(20, tab, 8);
if ( res != -1) {
printf("dans le tableau %d", res);
}
else {
printf("non trouvé");
}
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
14
En effet c'est hyper difficile comme exercice. J'aimerais bien savoir combien de temps tu as refléchi sur le problème.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Rien de bien compliqué la dedans. Simplement à tester le premier bit.

Si est à 1 -> impaire
sinon à 0 -> paire

int i;
int tab[] = {3, 4, 5, 6, 7, 8, 9, 10};

for(i = 0; i < 8; i++)
    if(!(tab[i] & 1)) printf("%d\n", tab[i]);

Tu peux aussi faire un modulo du nombre:

if(!(tab[i] % 2)) -> paire

C++ (@++)<!--
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

salut,
Merci mon amis

[auteur/SAKINGDOM/617077.aspx SAKingdom]  , je dois le compiler s'il marche et merci encore.


E_ben Mr Laurent je suis 1 debutant 0k.

@+
Messages postés
14710
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 janvier 2020
90
Hello,
Etre débutant ne te dispense pas d'apprendre les bases, bien au contraire...
Tout développeur a commencé un jour à lire un livre sur le C ou bien a suivi des tutoriels trouvés sur le net.
Après, s'il reste des problèmes, nous sommes là pour voir ce qui bloque

Bon courage pour ton apprentissage...

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

salut,
re
Le prof ma dit qu'il faut d'abord LA LECTURE /(METRE UNE FONCTION DE LA LECTURE D'UN VECTEUR)

SOS
@+
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
14
int i;
int tab[] = {3, 4, 5, 6, 7, 8, 9, 10};
for(i = 0; i < 8; i++) {
    printf("%d", tab[i]); // lecture de l'element
    if(!(tab[i] & 1)) {
            printf(" est pair\n"); // tu affiches est pair s'il est pair.
      }
}
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

Salut,
Merci
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

voila mon Proggrame :
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>

void Erreur (char *texte)
{
    printf ("\n\n %s",texte);
    getch();
    exit(1);
}

void fivecteur (int n)
{
    int*i;
    i=(int*)malloc(n*sizeof(int));
    if(i==NULL) //if(tab=fivecteur(n));
    //lire (n,tab); else
     Erreur("pb d'allocation de memoire");
   }

void Creer (int n,int*tab)
{
    int i;
    for (i=0;i<n;i++)
    printf("tapper les elements du tableau \n");
    scanf("%d",&tab[i]);
}

void afficher (int n,int*tab)
{
    int i;
    for (i=0;i<n;i++)
      if (tab[i]%2==0)
       printf("%d est pair",tab[i]);
      else printf("%d est impair",tab[i]);
}
   /*******************************************************/
  /*                Programme                           */
 /*                Principale                         */
/****************************************************/

int main()
(
int *tab, n;
..a suivre ...
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

 

Salut;
et Merci a vous tous...
  /********************************/
  /*                Programme                         */
 /*                Principale                          */
/******************************/

int main()
{
int *tab, n;
printf("\n Bonjour ");

printf("\n\n Donner la dimension du tableau ===< "); scanf("%d",&n);
tab = fivecteur(n);
Liretab(n,tab);
affichertab(n,tab);
getch();
}
j'ai un un autre Exercice j'espair que c'est le dernier pour mon Stage:
Lire un tableau ~ Lire un nombre ,
Chercher et ce qur le nombre et dans le tableau.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
"Chercher et ce qur le nombre et dans le tableau."

Non mais là, t'es capable de le faire tout seul. C'est vraiment extrêmement basique. Si tu ne peux pas, faudra relire tes livres de C parce que, comme je viens de le dire, c'est l'extrême base.

C++ (@++)<!--
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

SALUT;
Merci pour votre sponsor lol
Ben voila mon essais gg
Vouz pouvez fair desss retouchesss <correction>
#include <stdio.h>

void to_seek(int seek_it, int *tab, int len)
{
int i;

for (i = 0; i < len; i++)
{
if (tab[i] == seek_it)
printf("La valeur a ete trouve dans le tableau, GG !\n");
}
}

int main()
{
int tab[] = {3, 4, 5, 6, 7, 8, 9, 10};
to_seek(20, tab, 8);
return (0);
}

Merci infiniemant
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

re;
Oui oui vous avez raison ,
Merci pour l'effort.
Messages postés
44
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
30 août 2008

re;
Oui oui vous avez raison ,
Merci pour l'effort.