Главная » 2019 » Март » 26 » Скалярное произведение строк и столбцов
08:52
Скалярное произведение строк и столбцов

#include <iostream>
#include <ctime>
using namespace std;
void vvod(int **a, int n, int m);
void vvod2(int **a, int n, int m);
void vivod(int **a, int n, int m);
int spstr(int **a, int n, int m, int n1, int n2);
int spstolb(int **a, int n, int m, int m1, int m2);
int main()
{
    const int n=5,m=7;
    int **a=new int *[n];
    for (int i=0;i<n;i++) a[i]=new int[m];
    cout<<"Vvedite matrix"<<endl; vvod2(a,n,m);
    cout<<"Vvedennaya matrix"<<endl; vivod(a,n,m);
    int n1,n2;
    cout<<"Vvedite nomera strok ";
    cin>>n1>>n2;
    cout<<"Skalyarnoe pr-nie strok = "<<spstr(a,n,m,n1,n2)<<endl;
    int m1,m2;
    cout<<"Vvedite nomera stolbcov ";
    cin>>m1>>m2;
    cout<<"Skalyarnoe pr-nie stolbcov = "<<spstolb(a,n,m,m1,m2)<<endl;
    for (int i=0;i<n;i++) delete []a[i];
    delete a;
    system("pause");
}
int spstolb(int **a, int n, int m, int m1, int m2)
{
    int s=0;
    for (int i=0;i<n;i++)
    {
        s=s+a[i][m1]*a[i][m2];
        cout<<a[i][m1]<<"x"<<a[i][m2]<<" ";
    }
    cout<<endl;
    return s;
}
int spstr(int **a, int n, int m, int n1, int n2)
{
    int s=0;
    for (int j=0;j<m;j++)
    {
        s=s+a[n1][j]*a[n2][j];
        cout<<a[n1][j]<<"x"<<a[n2][j]<<" ";
    }
    cout<<endl;
    return s;
}
void vvod(int **a, int n, int m)
{
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            cin>>a[i][j];
}
void vvod2(int **a, int n, int m)
{
    srand(time(0));
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            a[i][j]=rand()%10;
}
void vivod(int **a, int n, int m)
{
     for (int i=0;i<n;i++)
     {
        for (int j=0;j<m;j++)
            cout<<a[i][j]<<" ";
        cout<<endl;
     }
}

Просмотров: 385 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar