PROBLEME
On vous donne les résultats du recensement d'un pays. On vous indique le nombre d'habitants de ce pays par tranche d'âge. Ecrivez un programme qui calcule le pourcentage de la population correspondant à chaque tranche d'âge.
CONTRAINTES
- 1 <= T <= 100, où T est le nombre de tranches d'âges.
- 1 <= P <= 10 000 000, où P est le nombre d'habitants pour une tranche d'âge donnée.
ENTREE
La première ligne de l'entrée contient un entier T : le nombre de tranches d'âges considérées.
Chacune des T lignes suivantes contient un entier P : le nombre d'habitants d'une tranche d'âge.
SORTIE
Vous devez afficher T lignes sur la sortie, contenant chacune un nombre à virgule, indiquant le pourcentage de la population se trouvant dans une tranche d'âge. Vous devez fournir les valeurs dans le même ordre que l'entrée.
CODE SOURCE
#include <stdio.h>
int main(int argc, char *argv[])
{
unsigned int nb;
int P=0;
scanf("%d\n",&nb);
int* tranches=new int[nb];
for(int i=0;i<nb;i++)
{
scanf("%d\n",&tranches[i]);
P+=tranches[i];
}
for(int i=0;i<nb;i++)
{
printf("%f\n", float(tranches[i])/float(P));
}
delete[] tranches;
return 0;
}
EXPLICATIONS
Pour écrire sur la sortie standard, on utilise la fonction printf().
Pour lire sur l'entrée standard, on utilise la fonction scanf().
Pour créer un tableau dynamiquement, on utilise l'opérateur new :
type * variable = new type[longueur];
Une fois que le tableau n'est plus utilisé, il faut libérer la mémoire allouée à l'aide de l'opérateur delete[]. Si vous utilisez delete au lieu de delete[], seul le premier élément du tableau sera désalloué.
delete[] variable;
|