Lucrarea nr



Yüklə 0,56 Mb.
səhifə6/20
tarix17.01.2019
ölçüsü0,56 Mb.
#98835
1   2   3   4   5   6   7   8   9   ...   20

2.7Probleme rezolvate


Problema 5. Fie un vector cu trei componente tip double. Se vor citi componentele vectorului de la tastatură şi se vor afişa pe ecran. Inainte de citirea componentelor se va afişa mesajul

Introduceti componentele vectorului x

La citirea componentului x[i] se va afişa mai întâi indicele componentului cu mesajul

x[i] =


Inainte de scrierea componentelor se va afişa mesajul

Componentele lui x

Apoi se va afişa fiecare component sub forma forma

x[i] = valoare

Programul este următorul.

#include

using namespace std;

int main()

{

double x[3];



int i;

cout << " Introduceti componentele vectorului x" << endl;

for(i = 0; i < 3; i++)

{

cout << "x[" << i << "] = ";



cin >> x[i];

}

cout << "Componentele lui x" << endl;



for(i = 0; i < 3; i++)

cout << "x[" << i << "] = " << x[i] << endl;

system("PAUSE");

return EXIT_SUCCESS;

}

Prima instrucţiune for execută repetat două instrucţiuni

cout << "x[" << i << "] = "; cin >> x[i];

In consecinţă, ele se scriu între acolade. A doua instrucţiune for execută o singură instrucţiune

cout << "x[" << i << "] = " << x[i] << endl;

In consecinţă, nu este necesar să scriem această instrucţiune între acolade.
Problema 5. Se dă un şir de 5 numere. Să se scrie un program care să calculeze suma şi media termenilor şirului. Valorile termenilor şirului se vor citi de la tastatură. Programul este cel de mai jos.
#include

using namespace std;

int main(){

float s = 0, media, x[5];

int i;

for(i = 0; i < 5; i++){



cout << "dati x["<> x[i];

s = s + x[i];

}

media = s / 5;



cout << "suma este "<< s <<" media este " << media << endl;

return 0;

}
Rezultatele rulării programului sunt cele de mai jos.


Problema 6. Să se scrie un program care să calculeze suma primelor n numere impare

s = 1 + 3 + 5 + … + (2n-1)

Valoarea lui n se va citi de la tastatură. Programul este următorul.
#include

using namespace std;

int main(){

int s=0, i, n;

cout << "dati n" << endl;

cin >> n;

for(i=1; i<=2*n-1; i=i+2)

s = s + i;

cout<<"suma primelor "<

return 0;

}
Rezultatele rulării programului sunt cele de mai jos.


Problema 7. Operatorii de deplasare << şi >> pentru expresii întregi

Se consideră o variabilă întreagă a = 1024. Să se scrie un program care să deplaseze variabila a spre dreapta cu câte 1 bit de 4 ori. Se va afişa variabila a în zecimal şi hexazecimal după fiecare deplasare cu un bit.

Se consideră o variabilă întreagă a=-8. Să se scrie un program care să deplaseze spre dreapta cu câte 1 bit de 3 ori variabila a. Se va afişa variabila a în zecimal şi hexazecimal după fiecare deplasare cu un bit.

În program se utilizează manipulatorii dec şi hex care dau modul de afişare al numărului : zecimal, respectiv hexazecimal, .


#include

using namespace std;

int main(){

int a = 1024;

cout << "numar" << '\t' << "baza 10" << '\t' << "baza 16" << endl;

cout << "a "<< '\t' << dec << a << '\t' << hex << a <

for(int i = 1; i <= 4;i++){

a = a >> 1;

cout << "a >> "<< i << '\t' << dec << a << '\t' << hex << a << endl;

}

cout<<"************************"<

a = -8;

cout << "numar" << '\t' << "baza 10" << '\t' << "baza 16" << endl;

cout << "a "<< '\t' << dec << a << '\t' <

for(int i = 1; i <= 3; i++){

a = a << 1;

cout << "a << "<< i << '\t' << dec << a << '\t' << hex << a << endl;

}

return 0;



}

Rezultatele rulării programului sunt cele de mai jos.




Problema 8. Să se scrie un program care să calculeze suma a două matrice A şi B, cu două linii şi trei coloane fiecare. Elementele matricelor se vor citi de la tastatură. Dacǎm notǎm prin C matricea sumă, algoritmul de calcul este următorul.

for i =1 to 2

for j = 1 to 3

Programul este cel de mai jos.


#include

using namespace std;

int main(){

int i,j;


float a[2][3],b[2][3],c[2][3];

cout << "suma a doua matrice de 2 x 3" << endl;

for(i = 0; i < 2; i++)

for(j = 0; j < 3; j++) {

cout << "a["<>a[i][j];

cout << "b["<>b[i][j];

c[i][j]=a[i][j]+b[i][j];

}

cout << "matricea suma este" << endl;



for(i = 0; i < 2; i++){

for(j = 0; j < 3; j++)

cout<<"\t"<

cout << endl;

}

return 0;



}

Rezultatele rulării programului sunt cele de mai jos.





Problema 9. Să se scrie un program care să calculeze valorile funcţiei

cu pasul
#include

#include

#include

using namespace std;

int main()

{

cout << setw(4) << "t" << '\t'



<< setw(6) << "f(t)" << endl;

for(double t=0; t<=1; t = t + 0.1) {

double f = (exp(-0.1*t)*sin(10*t));

cout << setw(4) << t << '\t'



<< setw(6) << f << endl;

}

return 0;



}
Rezultatele rulării programului sunt prezentate mai jos.


Problema 10. Să se scrie un program care să calculeze cmmdc al două numere întregi. Programul va citi repetat seturi de două numere întregi de la tastatură până când primul număr citit este zero. Programul este următorul.
#include

using namespace std;

int cmmdc(int a,int b){

int r,m;


if(a < b) {

//interschimba pe a cu b

m = a; a = b; b = m;

}

r=a%b;



while (r!=0){

a=b; b=r; r=a%b;

}

return(b);



}
int main(){

int a,b,d;

cout << "calculul cmmdc al doua numere intregi" << endl;

cout << "a = "; cin >> a;

cout << "b = "; cin >> b;

while(a){

d = cmmdc(a, b);

if(d == 1)

cout << "numerele sunt prime intre ele" << endl;

else


cout << "numerele nu sunt prime intre ele, cmmdc = " << d << endl;

cout << "a = "; cin >> a;

cout << "b = "; cin >> b;

}

return (0);



}
Rezultatele rulării programului sunt cele de mai jos.

Problema 11. Fie vectorii a = (1.2, -1.0, 7.5) şi b = (-2.33, 1.244, 13.1) Să se scrie un program care să calculeze suma celor doi vectori. Programul este cel de mai jos.
#include

using namespace std;

int main(){

float c[3],a[3]={1.2, -1.0, 7.5};

float b[3]={-2.33, 1.244, 13.1};

cout << "suma a doi vectori, a si b" << endl;

for (int i=0;i<3;i++)

cout << "a[" << i << "] = " << a[i] << '\t';

cout << endl;

for (int i=0;i<3;i++)

cout << "b[" << i << "] = " << b[i] << '\t';

cout << endl;

for (int i=0;i<3;i++) {

c[i]=a[i]+b[i];

cout<<"c["<

}

cout <

return 0;

}
Rezultatele rulării programului sunt cele de mai jos.






Yüklə 0,56 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   20




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin