Se consideră trei vectori cu elemente numere întregi: a, b şi c, cu lungimea n. Lungimea vectorilor şi elementele vectorilor a şi b se citesc de la tastatură. Să se afişeze vectorul c ale cărui elemente se generează astfel: 7
a) c[i] este modulul diferenței a[i]-b[i];
b) c[i] este maximul dintre a[i] şi b[i];
c) c[i] este minimul dintre a[i] şi b[n-i-1].
#include <iostream>
using namespace std;
int main() {
const int n = 5; // lungimea vectorilor
int a[n], b[n], c[n]; // vectorii a, b și c
// Citirea vectorilor a și b
cout << „Citeste vectorul a:\n”;
for (int i = 0; i < n; i++) {
cout << „a[” << i << „] = „;
cin >> a[i];
}
cout << „\nCiteste vectorul b:\n”;
for (int i = 0; i < n; i++) {
cout << „b[” << i << „] = „;
cin >> b[i];
}
// Calcularea vectorului c
for (int i = 0; i < n; i++) {
// a) c[i] este modulul diferenței a[i]-b[i]
c[i] = abs(a[i] – b[i]);
// b) c[i] este maximul dintre a[i] şi b[i]
// (se poate folosi functia max(a[i], b[i]))
if (a[i] > b[i]) {
c[i] = a[i];
} else {
c[i] = b[i];
}
// c) c[i] este minimul dintre a[i] şi b[n-i-1]
// (se poate folosi functia min(a[i], b[n-i-1]))
if (a[i] < b[n-i-1]) {
c[i] = a[i];
} else {
c[i] = b[n-i-1];
}
}
// Afisarea vectorului c
cout << „\nVectorul c calculat:\n”;
for (int i = 0; i < n; i++) {
cout << „c[” << i << „] = ” << c[i] << „\n”;
}
return 0;
}
Explicație:
În acest program, se citește de la tastatură vectorii a și b cu lungimea n. Se calculează apoi vectorul c cu aceeași lungime, utilizând cele trei reguli date:
- a) c[i] este modulul diferenței a[i]-b[i]
- b) c[i] este maximul dintre a[i] şi b[i]
- c) c[i] este minimul dintre a[i] şi b[n-i-1]
În cadrul buclei for care parcurge vectorul c, se aplică fiecare dintre cele trei reguli și se calculează elementul corespunzător din vectorul c.
La final, se afișează vectorul c obținut.