Moyenne,somme,maximum

Fermé
Jack65 Messages postés 6 Date d'inscription mardi 22 avril 2014 Statut Membre Dernière intervention 22 avril 2014 - 22 avril 2014 à 19:05
Jack65 Messages postés 6 Date d'inscription mardi 22 avril 2014 Statut Membre Dernière intervention 22 avril 2014 - 22 avril 2014 à 21:53
Bonjour,

j'ai essayé de faire cet exercice:
"Afficher la somme, la moyenne et le maximum d'un tableau de 20 réels"

Et j'essai de comprendre le corrigé que je ne comprends pas totalement.

Voici le corrigé:
#include<stdio.h>
int main()
int k,i
float moy,t[20],s,max;réels
printf("Rentrer 20 entiers"\n);s=0
for(k=0;k<20;k++)
{scanf("%f",&t[k]);
{s=s+t[k];
{moy=s/20;
max= t[0];
for(i=1;i<20;i++)
{if(t[i]-max<0)
{t[i]=max;
{
{
Mais je ne comprends pas vraiment ce que "i" et "k" représente dans t[i] et t[k],de manière générale,i et k sont des variables non ?
De même je ne comprend pas trop la notation s=s+t[k] je vois ça comme si on me disais que 1=1+2 mais je sais que ce n'est pas la vrai signification.
Toute aide sera la bienvenu.


A voir également:

4 réponses

Utilisateur anonyme
22 avril 2014 à 19:10
Bonjour, i et k représentent une variable dans la boucle mais sont utilisés pour accéder à un élément particulier d'un tableau.

Le premier élément du tableau est 0. Donc t[0] renvoie le premier élément.

Par contre (certes c'est minime ici), d'accord pour calculer la somme à chaque passage dans la boucle mais visiblement tu fais aussi le calcul du maximum à chaque fois, ce qui n'est pas performant. Tu peux parcourir le tableau une seule fois à la fin pour calculer le maximum.
0
[Dal] Messages postés 6175 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 30 avril 2024 1 083
22 avril 2014 à 19:21
Salut Jack65,

je ne comprend pas trop la notation s=s+t[k] je vois ça comme si on me disais que 1=1+2 mais je sais que ce n'est pas la vrai signification.

s=s+t[k]

l'opérateur d'égalité c'est == en C.
= c'est l'opérateur d'affectation.

Cela signifie donc : affecte à la variable s la valeur de la variable s augmentée de la valeur contenue dans le tableau t à l'indice k. Donc la variable s est mise à jour, en additionnant sa valeur avec celle de t[k].


Dal
0
[Dal] Messages postés 6175 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 30 avril 2024 1 083
22 avril 2014 à 19:23
Ton code est plein de fautes de syntaxe. Je suppose que tu as retapé le "corrigé" à la main et inséré ces fautes par inadvertance.
0
Jack65 Messages postés 6 Date d'inscription mardi 22 avril 2014 Statut Membre Dernière intervention 22 avril 2014
22 avril 2014 à 19:49
oui je l'ai retapé à la main mais j'ai recopié exactement ce que j'ai vu,j'ai vérifié.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
22 avril 2014 à 21:49
Non, tu as dû mal recopier...
Les erreurs :
int k,i
Il manque le point virgule en fin de ligne.

float moy,t[20],s,max;réels
réels n'est pas à sa place ici. Probablement // devant ou mieux /*réels*/

printf("Rentrer 20 entiers"\n);s=0
Il manque le point virgule en fin de ligne.
Le \n doit se trouver avant le guillemet.

Certaines accolades sont dans le mauvais sens.
Et il manque le return 0; (peut-être une faute dans le bouquin ça).
0
Jack65 Messages postés 6 Date d'inscription mardi 22 avril 2014 Statut Membre Dernière intervention 22 avril 2014
22 avril 2014 à 21:53
c'est sur un ami que j'ai pris ça,il a du mal recopier je pense.
0
Jack65 Messages postés 6 Date d'inscription mardi 22 avril 2014 Statut Membre Dernière intervention 22 avril 2014
22 avril 2014 à 19:23
Oui je vois ce que tu veux dire pour le maximum,mais il y a une petite partie du corrigé que je n'ai pas mis(la fin).
Excuse moi,mais tu veux dire que ça renvoi au premier élément?
Donc t[1] renvoi au deuxième et ainsi de suite?
0
Utilisateur anonyme
22 avril 2014 à 19:24
Oui, t[1] est le deuxième élément. t[n-1] est le n-ième élément.
0
Jack65 Messages postés 6 Date d'inscription mardi 22 avril 2014 Statut Membre Dernière intervention 22 avril 2014
22 avril 2014 à 19:31
Ok,merci pour ton aide.
0
Jack65 Messages postés 6 Date d'inscription mardi 22 avril 2014 Statut Membre Dernière intervention 22 avril 2014
22 avril 2014 à 19:25
Ah ok merci pour ton aide Dal,c'est beaucoup plus clair maintenant,merci aussi pour ton aide Rocky_123.
0