Introduction à l'Informatique (INFO0205)


TP 6: Vecteurs

Professeurs Patrick E. Meyer et Alejandro Silhanek

Version 2.0

  1. Qu'affiche le programme suivant quand on lui fournit au clavier :
    1. les valeurs $2$, $6$ et $3$
    2. les valeurs $6$, $2$ et $3$
    3. les valeurs $8$, $-3$ et $4$

     
    #include <iostream>
    using namespace std;
    
    const int n=10;
    
    int main(){
        int a,b,c,i;
        int vecteur[n];
        cin>>a>>b>>c;
        
        for (i=0;i<n;i++)  {
            if(i<b)
               vecteur[i]=a;
            else
               vecteur[i]=c;
            }
    
        for (i=0;i<n;i++)
            cout<< vecteur[i] << " ";
    
        return 0;
    }
    

  2. Écrire un extrait de code qui imprime l'indice du plus grand des éléments du tableau t, qui est de taille n. On supposera que le tableau n'est pas vide.

  3. Écrire un extrait de code qui calcule le produit scalaire de deux vecteurs ($u,v$) de longueur $n$ :

    \begin{displaymath}\sum_{i=1}^n u_i \cdot v_i \end{displaymath}

  4. Écrire un extrait de code qui opère une symétrie sur les éléments d'un vecteur $V$ de dimension $n$, c'est-à-dire échange la première et la dernière composante du vecteur, la deuxième et l'avant-dernière, et ainsi de suite. $(v_{1},v_{2}, \dots,v_{n})$ devient $(v_{n},v_{n-1},\dots ,v_{1})$.

  5. Soient deux vecteurs $POS$ et $DON$ de longueur $n$. Écrire un extrait de code qui affiche les éléments de $DON$ dans l'ordre indiqué par $POS$ (qui contient les entiers de 1 à $n$).

    Exemple ($n = 4$)

    DON $9 \;\; 6 \;\; 8 \;\; 2$.
    POS $2 \;\; 4 \;\; 3 \;\; 1$.


    donne $6 \;\; 2 \;\; 8 \;\; 9$.