0% ont trouvé ce document utile (0 vote)
26 vues3 pages

TP C++ : Échanges et Matrices

c++

Transféré par

chemloulabdou1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues3 pages

TP C++ : Échanges et Matrices

c++

Transféré par

chemloulabdou1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UMMTO, FGEI, DPT ELN, Master1 ESE TP programmation C++Embarquée

Elaboré par Mme N. SADOUN-HEMDANI

TP 4 : Programmation de base en C++ (3)

Objectif : Ce TP a pour objectif d’élaborer des programmes C++ en utilisant des fonctions, des
tableaux tout en les faisant passer comme arguments de fonctions.

Home-Work : Tapez, exécutez et interprétez les programmes ci-dessous, ils seront vérifiés pendant
la séance de TP !!
Code1 : Le programme ci-dessous permet d’échanger les valeurs de deux vecteurs.
#include <iostream>
using namespace std;
const int N=5 ;
int main()
{ int t1[N], t2[N], c;
cout << "Tapez "<<N<<" valeurs d'un vecteur t1 :"<<endl;
for(int i=0; i<N; i++){
cout<<"t1["<<i<<"]= ";
cin>>t1[i];
}
cout << "Tapez "<<N<<" valeurs d'un vecteur t2 :"<<endl;
for(int i=0; i<N; i++){
cout<<"t2["<<i<<"]= ";
cin>>t2[i];
}
for(int i=0; i<N; i++){
c = t1[i];
t1[i] = t2[i];
t2[i] = c;
}
cout<<"Les valeurs du vecteur t1 après echange :"<<endl;
for(int i=0; i<N; i++){
cout<<"t1["<<i<<"]= "<<t1[i]<<"\t";
}
cout<<"Les valeurs du vecteur t2 après echange :"<<endl;
for(int i=0; i<N; i++){
cout<<"t2["<<i<<"]= "<<t2[i]<<"\t";
}
return 0;
}
Code2 : Le programme permet de décomposer un vecteur donné en deux sous vecteurs où l’un comporte
les éléments à indices pairs et l’autre les éléments à indices impairs.
#include <iostream>
const int N=10 ;
using namespace std ;
int main(){
float V[N], V1[N/2], V2[N/2];
cout << "Saisir les "<<N<<" valeurs entieres de V1:" << endl;
int j=0, k=0;
for(int i=0; i<N; i++){
cout << "V["<<i<<"]= ";
cin>>V[i];
if(i % 2 == 0) V1[j++] = V[i];
else V2[k++] = V[i];
}
cout<<"Les elements de V1 sont:"<<endl;

1
UMMTO, FGEI, DPT ELN, Master1 ESE TP programmation C++Embarquée
Elaboré par Mme N. SADOUN-HEMDANI
for(int i=0; i<N/2; i++)
cout << " \n V1["<<i<<"] = "<<V1[i];
cout<<" \n Les elements de V2 sont:"<<endl;
for(int i=0; i<N/2; i++)
cout << "\n V2["<<i<<"] = "<<V2[i];
return 0;
}
Code3 : Le programme permet de modifier les valeurs des éléments du tableau tab comme suit :
˗ la valeur de l’élément central, sera la somme de tous les éléments du tableau tab,
˗ les valeurs des éléments contours seront mises à zéro, et ceux restant garderont leurs valeurs initiales, puis
d’afficher le tableau après modification, en format matriciel.
#include <iotream>
using namespace std ;
#define N 5
int main(){
int tab[N][N], som=0 ;
for(int i=0; i<N; i++){
for(int j=0; j<N; j++){
cout<<"tab["<<i<<"]["<<j<<"]= " ;
cin>>tab[i][j];
som += tab[i][j];
}
}
for(int i=0; i<N; i++){
for(int j=0; j<N; j++){
if(i==(N-1)/2 && j==(N-1)/2) tab[i][j]= som ;
else if(i==0||i==N-1||j==0||j==N-1) tab[i][j]= 0 ;
else tab[i][j]= tab[i][j] ;
}
}
cout<<"\n tableau modifie: "<<endl ;
for(int i=0; i<N; i++){
for(int j=0; j<N; j++){
cout<<tab[i][j]<<"\t" ;
} cout<<endl ;
}
return 0;
}
Code4: Le programme contenant :
- la fonction void transpositTab2D (int tab[N][N], int ttab[N][N]); qui permet de convertir une matrice tab
en sa transposée ttab.
- la fonction main permettant d’appeler la fonction précédente pour une matrice T de taille 7x7 éléments à
saisir au clavier, en la convertissant en matrice transposée tT, d’afficher les deux matrices et puis de calculer
et d’afficher le produit de ces deux matrices T * tT.
#include <iostream>
using namespace std;
const int N =7;
int i, j ;
void transpositTab2D( int tab[N][N], int ttab[N][N]);
int main(){
int T[N][N], tT[N][N], prod[N][N], k;
cout<<"Saisir 7x7 elements entiers du T: "<<endl;
for(i=0; i<N; i++){
for(j=0; j<N; j++){

2
UMMTO, FGEI, DPT ELN, Master1 ESE TP programmation C++Embarquée
Elaboré par Mme N. SADOUN-HEMDANI
cout<<"T["<<i<<"]["<<j<<"]= ";
cin>>T[i][j];
}
}
cout<<"\n La matrice T est : "<<endl;
for(i=0; i<N; i++){
for(j=0; j<N; j++){
cout<<T[i][j]<<"\t";
}cout<<endl;
}
transpositTab2D(T, tT);
cout<<"\n La matrice transposee de T est :" <<endl;
for(i=0;i<N; i++){
for(j=0;j<N; j++){
cout<< tT[i][j] <<"\t";
}cout<<endl;
}
cout<<"\n La matrice produit T*tT est : "<<endl;
for(i=0; i<N; i++){
for(j=0; j<N; j++){
prod[i][j] = 0;
for(k=0; k<N; k++){
prod[i][j] += T[i][k]*tT[k][j];
}
cout<<prod[i][j]<<"\t";
} cout<<endl;
}
return 0 ;
}
void transpositTab2D(int tab[N][N], int ttab[N][N]){
for(i=0; i<N; i++){
for(j=0; j<N; j++)
ttab[i][j] = tab[j][i];
}
}

Vous aimerez peut-être aussi