Nombre binaire?

Fermé
Gen - 24 mars 2008 à 02:19
Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 - 1 juin 2008 à 19:42
Bonjour,
voila ce que je dois faire:
Description:

Écrire un programme structuré en fonctions auxquelles le tableau est passé en paramètre, qui permet :
 de lire 10 nombres et de bâtir le tableau des 10 nombres
 d'afficher les 4 listes suivantes :
• la liste des nombres dans l'ordre dans lequel on les a lus (du premier au dernier)
• la liste des nombres dans l'ordre inverse de leur lecture (du dernier au premier)
• la liste des nombres impairs
• la liste des nombres d’indice pair (indice 0, 2, 4, 6 ….)

quand je le complile ça m'écris:
invalid operands to binary % ??? ça veut dire quoi?

// FoncTabl: #include <stdio.h>


// lit au clavier les nombres

void lireTableau(int nombre[ ] , int limite)
{
int i;
for ( i= 0; i < limite; i++)
{
printf("Entrer le nombre %d :", (i+1) );
scanf("%d", &nombre[i]);
}
} // fin lireTableau

// trouve les chiffres pairs et impairs

void pairs (int nombre[ ])
{
do
{
printf("\nVos chiffres pairs : %d", nombre[0]);
}
while (nombre%2!= 0);

do
{
printf("\nVos chiffres impairs : %d", nombre[0]);
}
while (nombre%2= 0);

} // fin lireTableau


void main ( )
{
const int MAX_NB = 10; // nombre de nombres
int i, // compteur
nombre[MAX_NB];

// lecture des nombres
lireTableau(nombre, MAX_NB);

// affichage des résultats
printf("\n*****Resultats \n Vos Nombres : %6.2d", nombre[0]);
for ( i= 1; i < MAX_NB; i++)
printf(" , %6.2d", nombre[i]);


printf( "\nAppuyer sur une touche pour continuer " );
getch();
} // fin du main

3 réponses

Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
24 mars 2008 à 09:38
Bonjour,

Le problème est dans la fonction

void pairs (int nombre[ ])
{
do
{
printf("\nVos chiffres pairs : %d", nombre[0]);
}
while (nombre%2!= 0); //////////////////

do
{
printf("\nVos chiffres impairs : %d", nombre[0]);
}
while (nombre%2= 0); //////////////////

} // fin lireTableau


l'erreur n'est pas 'nombre binaire' mais 'opérateur binaire %'. (qui prend deux paramètres)
nombre % 2 l'embête car nombre est un tableau et le modulo n'est défini que sur des entiers.

Dans ton 2ème while, attention à l'affectation.

Si la fonction ne connait pas la taille du tableau, elle n'ira pas bien loin...


M.


(Pourquoi le include est en commentaire ?)
0
J'ai une epreuve TP dans 2 jours, et j'ai un probleme dans un TP :

C'est sur les fractales, et en gros on doit faire un programme qui regit la fonction : z=Z0*cos(z*pi/2)

Sauf que j'ai une erreur dans une ligne qui me dit :

invalid operands to binary *

La ligne est ainsi : Q=Z*(Pi/2);

Le probleme semblerai venir du * ?
0
Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
1 juin 2008 à 19:42
%6.2d
tu veux afficher 6 chiffres et 2 apres la virgule ? ...
c'est un entier ... non ? Oo
0