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. 29

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.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *