online: 12; azi: 705; total: 52711 Manual clasa a ix a - Implementarea structurilor de date - Structuri de date

Probleme Rezolvate



Manual clasa a IX a

Implementarea structurilor de date

Structuri de date

Să se genereze în doi vectori a şi b, şi apoi să se alişeze , termenii sirurilor a n si b n definite recursive astfel
a n =(a n-1 +bn-1)/2 bn =(an-1+2xbn-1)/3
…………………………………………………………………………….
a1 =( a0+b0)/2 b1=(a0+2xb0)/3
unde a 0 , b 0 şi n se citesc de la tastatură .
# include < iostream >
using namespace std ;
int main () {
int n, a0, b0;
cin >> n >> a0 >> b0;
int a[n], b[n];
a[ 0 ] = a0;
b[ 0 ] = b0;
int c[n];
for ( int i = 1 ; i < n; i++) {
int an = (a[i -1 ] + b[i -1 ]) / 2 ;
int bn = (a[i -1 ] + 2 *b[i -1 ]) / 3 ;
a[i] = an;
b[i] = bn ;
c[i] = min (a[i], b[n-i -1 ]);
c[i+n -1 ] = max (a[i], b[n-i -1 ]);
}
for ( int i = 0 ; i < 2 *n -2 ; i++) {
cout << c[i] << " " ;
}
cout << endl ;
return 0 ;
}

Pentru a rezolva această problemă, vom folosi o buclă for pentru a genera fiecare termen din șirurile an și bn în funcție de termenii anteriori. Vom declara și initializa vectorii a și b cu valorile a0 și b0 citite de la tastatură, apoi vom declara vectorul c ca un vector gol.
În fiecare iterație a buclei for, vom calcula valorile an și bn folosind valorile anterioare și vom adăuga aceste valori în vectorii a și b. De asemenea, vom calcula valorile minime și maxime și le vom adăuga în vectorul c.
La final, vom afișa conținutul vectorului c.