Привести Матрицу К Треугольному Виду

Тема в разделе "C/C++/C#", создана пользователем Mouse606, 28 июн 2013.

  1. Mouse606

    Mouse606 New Member

    Регистрация:
    28 июн 2013
    Сообщения:
    1
    Симпатии:
    0
    Коэффициенты системы линейных уравнений заданы в виде прямоугольной матрицы. С помощью допустимых преобразований привести систему к треугольному виду. Найти кол-во строк, среднее арифметическое которых меньше заданной величины. Оформить каждый пункт задания в виде функций. На языке С++

    Написала вот это

    Код (C++):
    #include <iostream>
    #include <conio.h>
    using namespace std;
    const int m=3;
    void scan( float (*a)[m], int n);
    void print(float (*a)[m], int n);
    void gauss(float (*a)[m], int n);

    void scan( float (*a)[m], int n)
    {
    for (int i=0;i<n;i++)
    { for (int j=0;j<m;j++)
    cin>>a[i][j];
    cout<<"\n";}

    }
    void print(float (*a)[m],int n)
    {
    for(int i=0;i<n;i++)                     
    {
    for(int j=0;j<m;j++)
    cout<<a[i][j]<<" ";
    cout<<"\n";}

    }
    void gauss(float (*a)[m],int n)
    {
    float r;
    for(int k=0;k<n;k++)
    {for(int j=k+1;j<n+2;j++)
    {r=a[j][k]/a[k][k];
    for (int i=k;i<n+1;i++)
    {a[j][i]=a[j][i]-r*a[k][i];
    }
    }
    }

    }
    void main()
    { setlocale(LC_ALL,"Russian");
    int n;
    cout<<"Введите количество строк"<<"\n";
    cin>>n;
    float (*a)[m] = new float [n][m];
    cout<<"Введите коэффициенты"<<"\n";
    scan(a,n);
    cout<<"Исходная матрица"<<"\n";
    print(a,n);
    gauss(a,n);
    cout<<"\nТреугольный вид"<<"\n";
    print(a,n);
    getch();
    }
    Ребята, помогите пожалуйста с нахождением кол-ва строк :facepalm:
    И ещё один вопросик. Можно ли как-то сделать так, чтобы вводить можно было не только кол-во строк, но и столбцов? У меня никак не получается, он постоянно просит чтобы это было константой, и возникают проблемы с массивом ;)
     
Загрузка...
Похожие Темы - Привести Матрицу Треугольному
  1. proef
    Ответов:
    0
    Просмотров:
    2.237
  2. dimared
    Ответов:
    1
    Просмотров:
    1.902

Поделиться этой страницей