Перейти до змісту
  • Програмне забезпечення
  • Помогите с программой


    Рекомендовані повідомлення

    Ребята ,надо помощь..Есть текст проги в С++. Надо к нему алгоритм сделать ,таблица переменных и расписать какие команды что делают

    Так, как я ололо в С ++ ,прошу вашей помощи. Написана на Borland C++ 4.5.

     

     

     

     

    #include<iostream.h>

    #include<math.h>

     

    int maximal(int n,double R0[]);

     

    void main(){

    int i,j,n,f,k,iter;

    double S,det;

    cout<<"Введите размерность матрицы(матрица должна быть квадратной)= ";cin>>n;

    double *x=new double [n];

    double **b=new double *[n];

    for(i=0;i<n;i++)

    b=new double[n+1];

    double **a=new double *[n];

    for(i=0;i<n;i++)

    a=new double[n+1];

    cout<<"Введите количество итераций:";

    cin>>iter;

    cout<<"Введите расширенную матрицу:\n";

    for(i=0;i<n;i++){

    for(j=0;j<=n;j++)

    cin>>b[j];

    }

    cout<<"Подготавливаю матрицу к релаксации...\n";

    for(i=0;i<n;i++){

    for(j=0;j<n;j++)

    a[j]=-b[j]/b;

    a[n]=b[n]/b;

    }

    for(i=0;i<n;i++){

    for(j=0;j<n+1;j++)

    cout<<" "<<a[j]<<" || ";

    cout<<"\n";

    }

    double *x0=new double [n];

    for(i=0;i<n;i++)

    x=0.0;

    double *R0=new double [n];

    cout<<"Введите значения начальных приближений:\n";

    for(i=0;i<n;i++)

    cin>>x0;

    S=0.0;

    for(i=0;i<n;i++){

    for(j=0;j<n;j++)

    S=S+a[j]*x0;

    }

    for(i=0;i<n;i++){

    R0=a[n]-x0+S;

    cout<<"R("<<i<<")="<<R0<<" | ";

    }

    f=maximal(n,R0);

    det=R0[f];

    for(k=0;k<iter;k++){

    cout<<"det{"<<k<<"}="<<det<<"\n";

    for(i=0;i<n;i++){

    if(i!=f) R0=R0+a[f]*det;

    else R0=R0-det;

    }

    for(i=0;i<n;i++)

    cout<<"R["<<i+1<<"]="<<R0<<" ";

    x[f]=x[f]+det;

    f=maximal(n,R0);

    det=R0[f];

    }

    cout<<"\n";

    for(i=0;i<n;i++)

    cout<<"X{"<<i+1<<"}="<<x<<"\n";

    delete []x;

    delete []R0;

    delete []x0;

    delete []a;

    }

     

    int maximal(int n,double R0[]){

    int i,f;

    f=0.0;

    for(i=0;i<n-1;i++){

    if(R0[i+1]>R0) f=i+1;

    }

    return f;

    }

     

    результат проги

    Все,что не убьет меня - сделает меня сильнее (с) Ф.Ницше

    Знание приносит страх !

    Величайших враг спрячется там,где вы меньше всего будете его искать (с) Юлий Цезарь 75 г.д.н.э.

    Войны нельзя избежать, ее можно лишь отсрочить к выгоде вашего противника.(с) Макиавелли 1502 год

    Единственный способ стать умнее -играть с более умным противником .Основы шахмат 1883 год

    Посилання на коментар
    Поділитись на інші сайти

    • 2 місяця через...

    Непонятно как тебе помочь, научить читать текст программы на С++ или разобратся в теории алгоритмов?

     

    З.Ы. Ты ололо в С++ впринцыпе быть не можешь, а вот С++ ололо тебя - запросто. гыгы.

    Посилання на коментар
    Поділитись на інші сайти

    ×
    ×
    • Створити...

    Важлива інформація

    Використовуючи цей сайт, Ви погоджуєтеся з нашими Умови використання, Політика конфіденційності, Правила, Ми розмістили cookie-файлы на ваш пристрій, щоб допомогти зробити цей сайт кращим. Ви можете змінити налаштування cookie-файлів, або продовжити без зміни налаштувань..