A voir également:
- Somme des variable dans tableau en C
- Tableau word - Guide
- Tableau ascii - Guide
- Formule somme excel colonne - Guide
- Tableau croisé dynamique - Guide
- Trier tableau excel - Guide
9 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 févr. 2010 à 14:17
20 févr. 2010 à 14:17
Salut,
Deux erreurs :
Première : L'erreur vient de là : resultat = i + i++
Il manque un point virgule de fin d'instruction. De plus, je ne vois pas l'intérêt de cette ligne.
Si tu veux sommer les éléments du tableau, tu dois plutôt utiliser tableau[i] qui contient le i+1ème élément du tableau.
Deuxème : tableau[5] = {20, 100, 50, 80, 1};
Que veux-tu faire ???
Cette instruction n'est valable qu'à la déclaration de la variable donc int tableau[5]={20,...} (d'ailleurs la taille est facultative).
De plus, si tu redéfinis la variable pourquoi envoyer tableau en argument ?
Cdlt,
Deux erreurs :
Première : L'erreur vient de là : resultat = i + i++
Il manque un point virgule de fin d'instruction. De plus, je ne vois pas l'intérêt de cette ligne.
Si tu veux sommer les éléments du tableau, tu dois plutôt utiliser tableau[i] qui contient le i+1ème élément du tableau.
Deuxème : tableau[5] = {20, 100, 50, 80, 1};
Que veux-tu faire ???
Cette instruction n'est valable qu'à la déclaration de la variable donc int tableau[5]={20,...} (d'ailleurs la taille est facultative).
De plus, si tu redéfinis la variable pourquoi envoyer tableau en argument ?
Cdlt,
c'est vrai dans la fonction sommetableau le tableau[5] = { ... } se servai a rien, fallait remplacer par une variable; c'est fait sa donne sa :
mais il ya toujours une erreur : 19 C:\Dev-Cpp\main3.c too few arguments to function `sommeTableau'
j'ai pas compris cette erreur
#include <stdio.h>
#include <stdlib.h>
int sommeTableau(int tableau[], int i)
{
int resultat = 0;
tableau[i];
for (i = 0; i < 5; i++)
{
resultat = i + i++;
}
return resultat;
}
int main(int argc, char *argv[])
{
int resultat = 0;
int tableau[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
resultat = sommeTableau(tableau);
printf("la somme est de %d\n", resultat);
system("PAUSE");
return 0;
}
mais il ya toujours une erreur : 19 C:\Dev-Cpp\main3.c too few arguments to function `sommeTableau'
j'ai pas compris cette erreur
#include <stdio.h>
#include <stdlib.h>
int sommeTableau(int tableau[], int i)
{
int resultat = 0;
tableau[i];
for (i = 0; i < 5; i++)
{
resultat = i + i++;
}
return resultat;
}
int main(int argc, char *argv[])
{
int resultat = 0;
int tableau[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
resultat = sommeTableau(tableau);
printf("la somme est de %d\n", resultat);
system("PAUSE");
return 0;
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 févr. 2010 à 17:27
20 févr. 2010 à 17:27
Je remets pratiquement les mêmes remarques :
tableau[i];
A quoi ça sert ? Cette instruction est complètement inutile.
resultat = i + i++;
Que veux-tu faire avec ça ? Il faut utiliser les éléments du tableau si tu veux en faire la somme, là tu n'utilises que la variable i.
int sommeTableau(int tableau[], int i)
Ta fonction admet deux arguments en paramètre. Pourtant lorsque tu appelles ta fonction, tu n'en mets qu'un seul. D'où le message de ton compilateur.
tableau[i];
A quoi ça sert ? Cette instruction est complètement inutile.
resultat = i + i++;
Que veux-tu faire avec ça ? Il faut utiliser les éléments du tableau si tu veux en faire la somme, là tu n'utilises que la variable i.
int sommeTableau(int tableau[], int i)
Ta fonction admet deux arguments en paramètre. Pourtant lorsque tu appelles ta fonction, tu n'en mets qu'un seul. D'où le message de ton compilateur.
ok, j'ai essayé de changé, cette foi sa compile mais sa ne donne pas ce que je veux, je sais je suis plus tres loin mais je ne vois pas comment travailler sur les variable du tableau , est ce qu'il faut faire une boucle?
voici le code
int sommeTableau(int tableau[], int taille)
{
int resultat = 0, i = 0;
while (i < taille)
{
resultat = tableau[i] + tableau[i];
i++;
}
return resultat;
}
int main(int argc, char *argv[])
{
int resultat = 0, tailledutableau = 10;
int tableau[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
resultat = sommeTableau(tableau, tailledutableau);
printf("la somme est de %d\n", resultat);
system("PAUSE");
return 0;
}
voici le code
int sommeTableau(int tableau[], int taille)
{
int resultat = 0, i = 0;
while (i < taille)
{
resultat = tableau[i] + tableau[i];
i++;
}
return resultat;
}
int main(int argc, char *argv[])
{
int resultat = 0, tailledutableau = 10;
int tableau[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
resultat = sommeTableau(tableau, tailledutableau);
printf("la somme est de %d\n", resultat);
system("PAUSE");
return 0;
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 févr. 2010 à 19:56
20 févr. 2010 à 19:56
resultat = tableau[i] + tableau[i];
Ceci met dans resultat l'indice d'élément i du tableau et le multiplie par deux. Il ne récupère pas la somme précédemment calculer.
Mais ça brûle ;-))).
Ceci met dans resultat l'indice d'élément i du tableau et le multiplie par deux. Il ne récupère pas la somme précédemment calculer.
Mais ça brûle ;-))).
sa me donne 200, jcomprend pas... :o encor un petit indice et je trouverai bien ...
mon prof m'avait dit que c'était facile les tableaux, je vais le tuer mdr
mon prof m'avait dit que c'était facile les tableaux, je vais le tuer mdr
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 févr. 2010 à 21:14
20 févr. 2010 à 21:14
Bien sûr que ça donne 200.
A chaque itération tu mets dans resultat le double de l'élément du tableau. Donc lors de la dernière itération, tu vas faire 2*100=100.
Que penses-tu de la ligne suivante ?
resultat = resultat + tableau[i];
;-))).
Cdlt,
A chaque itération tu mets dans resultat le double de l'élément du tableau. Donc lors de la dernière itération, tu vas faire 2*100=100.
Que penses-tu de la ligne suivante ?
resultat = resultat + tableau[i];
;-))).
Cdlt,
eric1708
Messages postés
101
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
26 janvier 2025
128
20 févr. 2010 à 21:16
20 févr. 2010 à 21:16
Il suffit à priori de remplacer:
resultat = tableau[i] + tableau[i];
par:
resultat = resultat+ tableau[i];
Bon courage!
Eric.
resultat = tableau[i] + tableau[i];
par:
resultat = resultat+ tableau[i];
Bon courage!
Eric.
franchement chapeau, c'était évident quand on voit la réponse (jai tapé plusieur foi ma tete telment c'était evident) i mresque a faire la moyenne des valeurs contenu dans le tableau, puis crée un 2em tableau et copier les variable du 1er T dans le second, je doi crée une constante valeurMax pour mettre les valeur du tableau a 0 quand celles ci dépasse la valeur max, et enfin crée une fonction qui ordonne les valeur du tableau dans lordre croissant. j'espere que j'y arriverai tout seul. encor merciiii fiddy