Académique Documents
Professionnel Documents
Culture Documents
2. Donner les résultats, ou les affichages attendus après exécution des programmes suivants :
float x ; n = i *= --j ;
cout << "1 : " << i++ <<endl;
cout << "i = " << i;
x = a + b / c ; cout << "2 : " << ++j * --i ; 0.75
cout << "j = " << j;
cout << "x= " << x; 1 : 1 cout << "n = " << n;
1
x= 6 0.5
2 : 3 i= 12 j= 4 n= 12
} 7
5
3.
Le programme ci-dessous, permet de copier dans Ici votre réponse :
un tableau B[] ; les éléments strictement positifs
d’un tableau initial A*+. Sachant qu’il est écrit avec
les pointeurs constants. int A[10]= {-3, 4, 0, -7, 3, 8, 0, -1, 4, -9};
Réécrire ce programme avec les pointeurs int B[10];
variables (L’usage des indices i et j doit disparaitre). int *p,*q;
for (p=A,q=B ; p<A+10 ; p++)
int A[10]= {-3, 4, 0, -7, 3, 8, 0, -1, 4, -9}; if (*p>0)
int B[10];
{
int n,i;
for (i=0,n=0 ; i<10 ; i++)
*q = *p;
2
if (*(A+i)>0) q++;
{ }
*(B+n) = *(A+i); for (p=B ; p<q ; p++)
n++; cout<<p-B<<"\t"<<*p<<endl;
}
for (i=0; i<n ; i++)
cout<<i<<"\t"<<*(B+i)<<endl;
II. Exercice (6pts+1)
On souhaite saisir un temps t en seconde et le convertir en jours, heures, minutes et secondes.
t (secondes) = J (jours) : H (heures) : M (minutes) : S (secondes)
Ou encore :
𝑡 𝑠 = 𝑆 + 60 × 𝑀 + 60 × 𝐻 + 24 × 𝐽
J : est le nombre de jours entiers contenus dans t, J0.
H: est le nombre d’heures restant, 0H<24.
M: le nombre de minutes restant, 0M<60.
S: le nombre de secondes restant, 0S<60.
Dans la suite du programme ces conditions doivent être toujours vérifiées.
Exemple :92436 s = 1 j : 1 h : 40 mn : 36 s
Réponse :
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ()
{
int J,H,M,S,T1[4],T2[4],TS[4],TD[4]; 0.5
int t1,t2,t,i;
///1 a :
cout << "\nsaisir t1:";
cin >>t1; 0.25
///1 b :
t=t1;
0.5
S=t%60;
t/=60;
M=t%60;
t/=60; 0.5
H=t%24; 0.5
J=t/24;
///2 a :
do{
cout << "\nentrez J: ";
0.5 cin >>J;
T2[0]=J;
}while(J<0 );
do{
cout << "\nentrez H: ";
0.5 cin >>H;
T2[1]=H;
}while(H>24 ||H<0 );
do{
cout << "\nentrez M: ";
0.5 cin >>M;
T2[2]=M;
}while(M>60 ||M<0 );
do{
0.5 cout << "\nentrez S: ";
cin >>S;
T2[3]=S;
}while(S>60 ||S<0 );
///2 b :
t2=S+60*(M+60*(H+24*J));
0.5 cout << "\nt2 : " <<t2<< endl;
///3 a :
for(i=0;i<4;i++) TS[i]=T1[i]+T2[i];
if (TS[3]>=60) TS[2]+=TS[3]/60, TS[3]%=60;
1 if (TS[2]>=60) TS[1]+=TS[2]/60, TS[2]%=60;
if (TS[1]>=24) TS[0]+=TS[1]/24, TS[1]%=24;
for(i=0;i<4;i++) cout << T1[i]<<'\t'<< T2[i]<<'\t'<<TS[i]<<endl;
///3 b :
if(t1>t2)
for(i=0;i<4;i++) TD[i]=T1[i]-T2[i];
else
for(i=0;i<4;i++) TD[i]=T2[i]-T1[i];
1