Să se scrie un program C/C++ care citeşte elementele a doua tablouri unidimensionale de numere
întregi, dimensiunea <=7, şi afişează produsul scalar al acestora. Se va folosi o functie care preia
elementele de la tastatură şi o altă funcţie, care calculează produsul scalar. Ambele vor utiliza
pointeri. Citirea si validarea numărului de elemente ale tabloului şi afişarea rezultatului se va face în
funcţia main( )
Răspunsuri la întrebare
#include <iostream>
using namespace std;
// Functie care citeste elementele tablourilor unidimensionale de la tastatura
void citire_tablouri(int *tablou1, int *tablou2, int dim)
{
for (int i = 0; i < dim; i++)
{
cout << "Introduceti elementul " << i << " din tablou1: ";
cin >> tablou1[i];
cout << "Introduceti elementul " << i << " din tablou2: ";
cin >> tablou2[i];
}
}
// Functie care calculeaza produsul scalar al tablourilor
int produs_scalar(int *tablou1, int *tablou2, int dim)
{
int produs = 0;
for (int i = 0; i < dim; i++)
produs += tablou1[i] * tablou2[i];
return produs;
}
int main()
{
int dim;
// Citirea dimensiunii tablourilor
cout << "Introduceti dimensiunea tablourilor (maxim 7): ";
cin >> dim;
// Validarea dimensiunii tablourilor
while (dim < 1 || dim > 7)
{
cout << "Dimensiunea introdusa nu este valida. Introduceti o dimensiune intre 1 si 7: ";
cin >> dim;
}
int tablou1[dim], tablou2[dim];
// Citirea elementelor tablourilor
citire_tablouri(tablou1, tablou2, dim);
// Calcularea produsului scalar
int produs = produs_scalar(tablou1, tablou2, dim);
// Afisarea produsului scalar
cout << "Produsul scalar al tablourilor este: " << produs << endl;
return 0;
}