Pb language C
Fermé
Bonjour à tous,
voila je débute en programmation en language C et j'ai une doute en ce qui concerne la ligne de code qui suit, je ne vois pas ce que ça veux dire :
Si quelqu'un a une explication, je vous remercie d'avance.
Bonne journée.
voila je débute en programmation en language C et j'ai une doute en ce qui concerne la ligne de code qui suit, je ne vois pas ce que ça veux dire :
for (PS=0, I=1; I<N+1; I++) PS += (float)U[I]*V[I];
Si quelqu'un a une explication, je vous remercie d'avance.
Bonne journée.
A voir également:
- Pb language C
- Language binaire - Guide
- Autocad 2010 language pack french download - Forum AutoCAD
- Windows display language french - Guide
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Windows 7 language pack french download offline ✓ - Forum Windows 7
4 réponses
je reposte le code, j'en avais oublié un bout lol
en fait je ne comprend pas les 2 preimières lignes ainsi que la dernière.
Merci d'avance à tous
for (PS=0, I=1; I<N+1; I++) PS += (float)U[I]*V[I]; printf("Produit scalaire : %f\n", PS); return 0;
en fait je ne comprend pas les 2 preimières lignes ainsi que la dernière.
Merci d'avance à tous
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 845
22 nov. 2008 à 17:00
22 nov. 2008 à 17:00
Salut
Voici ton code commenté :
Cdlt
Voici ton code commenté :
for (PS=0, I=1; I<N+1; I++) // on initialise PS à 0, I à 1. Et on parcourt la ligne d'après tant que I inférieur strictement à N+1 (I sera incrémenté de 1 à chaque ligne). PS += (float)U[I]*V[I]; //Produit scalaire entre le vecteur U et V. (Ux*Vx+Uy*Vy+Uz*Vz) printf("Produit scalaire : %f\n", PS); return 0; //Fin du programme (ou de la fonction), tout s'est bien passé.
Cdlt
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
22 nov. 2008 à 17:00
22 nov. 2008 à 17:00
1 ere ligne c'est une boucle for tu initialise P a 0 al'interieur du for
2eme ligne P est egal au scalaire des deux tableaux U et V, tu connais la formule du scalaire je pense
derniere ligne surment en rapport avec l'en tete de ta fonction qui precise que tu dois retourner un int
2eme ligne P est egal au scalaire des deux tableaux U et V, tu connais la formule du scalaire je pense
derniere ligne surment en rapport avec l'en tete de ta fonction qui precise que tu dois retourner un int
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
22 nov. 2008 à 17:09
22 nov. 2008 à 17:09
Salut,
Ton code on pourra par exemple l'écrire de cette manière explicite
La ligne
PS += (float)U[I]*V[I];
C'est un raccourci pour PS = PS + (((float)U[I])*V[I]);
(float) c'est un opérateur de type qui fait la conversion de U[i] en float est il a une priorité plus grande que la multiplication *
Les parenthèses que j'ai ajouter c'est juste pour te montrer les opérations qui seront traitées en premier mais elles (les parenthèses) ne sont pas nécessaires dans ce cas.
return 0; veut dire que la fonction renvoie 0 si elle réussi en supposant que le type que ta fonctionne renvoie est un int
Je suppose que c'est le int main()
Ton code on pourra par exemple l'écrire de cette manière explicite
for (PS=0, I=1; I<N+1; I++) PS = PS + (((float)U[I])*V[I]); printf("Produit scalaire : %f\n", PS); return 0;
La ligne
PS += (float)U[I]*V[I];
C'est un raccourci pour PS = PS + (((float)U[I])*V[I]);
(float) c'est un opérateur de type qui fait la conversion de U[i] en float est il a une priorité plus grande que la multiplication *
Les parenthèses que j'ai ajouter c'est juste pour te montrer les opérations qui seront traitées en premier mais elles (les parenthèses) ne sont pas nécessaires dans ce cas.
return 0; veut dire que la fonction renvoie 0 si elle réussi en supposant que le type que ta fonctionne renvoie est un int
Je suppose que c'est le int main()