ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Метод Гаусса з вибором головної змінної
         

     

    Інформатика, програмування
    Метод Гаусса з вибором головної змінної (практична робота з комп'ютерної алгебри) Текст програми.

    # include

    # include

    # include

    # include

    const num = 4;

    int i, j, I, J;

    int c [num +1];

    long double x [num +1];

    long double max;

    long double A [num] [num +1];

    // --------------------------------------------- --------------

    void max_el (int sr, int st)

    (max = A [num +1- sr] [num +2- st];

    I = num +1- sr;

    J = num +2- st;

    for (i = num +1- sr; i <= num; i ++)

    (

    for (j = num +2- st; j <= num; j ++)

    (

    if (fabs (A [i] [j])> fabs (max))

    (

    max = A [i] [j];

    I = i;

    J = j;

    )

    )

    )

    cout << "nn Max =" <

    int i, j;

    for (i = num +1- sr; i <= num; i ++)

    (

    for (j = num +2- st; j <= num +1; j ++)

    (

    if (A [i] [j] <0) gotoxy (12 * j + j - 1, i +1);

    else gotoxy (12 * j + j, i +1);

    cout <

    )

    )

    )

    // --------------------------------------------- ---------------------

    void preob (int S)

    (

    int i, j;

    long double temp;

    for (j = S; j <= num +1; j + +) A [S] [j] = A [S] [j]/max;

    for (i = S + 1; i <= num; i ++)

    (

    temp = A [i] [S];

    for (j = S; j <= num +1; j + +) A [i] [j] = A [i] [j] - A [S] [j] * temp;

    )

    )

    // --------------------------------------------- ---------------------

    void perestanovka (int sr, int st)

    (

    if (J! = (num +1- sr))

    (

    for (i = 1; i <= num; i + +) (

    A [i] [J] = A [i] [J] + A [i] [num +1- sr];

    A [i] [num +1- sr] = A [i] [J] - A [i] [num +1- sr];

    A [i] [J] = A [i] [J] - A [i] [num +1- sr];

    )

    c [J] = c [J] + c [num +1- sr];

    c [num +1- sr] = c [J] - c [num +1- sr];

    c [J] = c [J] - c [num +1- sr];

    )

    if (I! = (num +2- st))

    (

    for (j = 1; j <= num +1; j + +) (

    A [I] [j] = A [I] [j] + A [num +2- st] [j];

    A [num +2- st] [j] = A [I] [j] - A [num +2- st] [j];

    A [I] [j] = A [I] [j] - A [num +2- st] [j];)

    )

    )

    // --------------------------------------------- ---------------------

    void otvet ()

    (

    float temp;

    for (i = num; i> = 1; i -)

    (

    temp = A [i] [num +1];

    for (j = num; j> i; j -) temp = temp - A [i] [j] * x [j];

    x [i] = temp/A [ i] [i];

    )

    )

    // --------------------------------------------- ---------------------

    void interface ()

    (

    clrscr ();

    print (num, num +1);

    cout << "n Масив перестановок стовпців";

    for (i = 1; i <= num; i + +) cout << "" <

    )

    // --------------------------------------------- ---------------------

    void load_file ()

    (

    char ch;

    ifstream in ( "c: gaussmat.dat ");

    cout << "n";

    for (i = 1; i <= num; i ++)

    (

    c [i] = i;

    while (ch! = '|') in>> ch;

    ch = 'q';

    for (j = 1; j <= num +1; j + +) in>> A [i] [j];

    )

    )

    // --------------------------------------------- ---------------------

    void main ()

    (

    clrscr ();

    load_file ();

    int g;

    for (g = num +1; g> = 3; g -)

    (

    interface (); max_el (g-1, g); getch ();

    perestanovka (g-1, g); interface (); getch ();

    preob (num +2- g); interface (); getch ();

    )

    clrscr ();

    print (num, num +1);

    otvet ();

    print (num, num +1);

    cout << "nn";

    long double X [num];

    for (i = 1; i <= num; i + +) X [c [i]] = x [i];

    for (i = 1; i <= num; i + +) cout << "X" <

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status