online: 6; azi: 796; total: 52802 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

Găsiți metoda adecvată prin care să memorați coordonatele carteziene în spaţiu (x, y, z) a n vectori , astfel încât să puteți implementa un algoritm cât mai eficient care să afişeze vectorii perpendiculari ( vectorii al căror produs scalar este 0). Afişaţi vectorii perpendiculari .
Pentru a memora coordonatele vectorilor în spațiu, putem declara o matrice de dimensiune n x 3, unde n este numărul de vectori. Fiecare linie din matrice reprezintă coordonatele unui vector.
Pentru a găsi vectorii perpendiculari, vom itera prin toți vectorii și pentru fiecare pereche de vectori vom calcula produsul scalar. Dacă produsul scalar este zero, atunci vectorii sunt perpendiculari și îi vom afișa.
# include < iostream >
using namespace std ;
int main () {
int n;
cout << " Introduceti numarul de vectori: " ;
cin >> n;
// declararea matricei pentru coordonatele vectorilor
double v[n][ 3 ];
// citirea coordonatelor vectorilor
for ( int i = 0 ; i < n; i++) {
cout << " Introduceti coordonatele vectorului " << i + 1 << " (x, y, z): " ;
cin >> v[i][ 0 ] >> v[i][ 1 ] >> v[i][ 2 ];
}
// căutarea vectorilor perpendiculari
for ( int i = 0 ; i < n - 1 ; i++) {
for ( int j = i + 1 ; j < n; j++) {
// calculul produsului scalar
double dotProduct = v[i][ 0 ] * v[j][ 0 ] + v[i][ 1 ] * v[j][ 1 ] + v[i][ 2 ] * v[j][ 2 ];
if ( dotProduct == 0 ) {
// afisarea vectorilor perpendiculari
cout << "Vectorul " << i + 1 << " si vectorul " << j + 1 << " sunt perpendiculari." << endl ;
}
}
}
return 0 ;
}

Acest program citește numărul de vectori, apoi citim coordonatele fiecărui vector și le salvăm în matricea v. Apoi, căutăm vectorii perpendiculari prin iterarea prin toți vectorii și calcularea produsului scalar pentru fiecare pereche de vectori. Dacă produsul scalar este zero, atunci vectorii sunt perpendiculari și îi afișăm.