Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> почему такой результат? 
:(
    Опции темы
Truegirl
Дата 17.4.2010, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 20.11.2008

Репутация: нет
Всего: нет



Код

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream.h>
#define N               3     // size of matrix
#define N1              N+1
float matrix[N][N1]=
      {{4,1,-5,11},
       {3,4,2,1},
       {1,5,5,-10}
      };
    
float z[N]={11.0/4.0,4.0/1.0,5.0/-10.0};    // first iteration
double epsilon=0.001;  // required accuracy
            

/*void GetMatrix (void)
{
    float r;
    for (int i=0; i<N; i++)
        for (int j=0; j<N1; j++)
        {
            scanf("%f", &r);
            matrix[i][j]=r;

        }
}*/
void ShowMatrix(void)
{
  for (int i=0;i<N;i++)
  {
       for (int j=0;j<N;j++)
            printf("%+f*x%d",matrix[i][j],i+1);
       printf("=%f\n",matrix[i][N]);
  }
}

void main(void)
{
  // Variables declaration

  float x[N];
  short int i,j;
  int iterations=0,finish=0;
  // Printing given matrix
//GetMatrix();
  ShowMatrix();
  while (!finish)
  {
     finish=1;
     for (i=0;i<N;i++)
    {
        x[i]=-matrix[i][N];
        for (j=0;j<N;j++) x[i]+=matrix[i][j]*z[j];
       // don't stop iterations until required accuracy is reached
       if (fabs(x[i]/matrix[i][i])>=epsilon) finish=0;
       x[i]=z[i]-x[i]/matrix[i][i];
      // next iteration
      z[i]=x[i];
    }
    iterations++;
    if (iterations==20) printf("20 iter"); 
    if (iterations==100) printf("100 iter");
    if (iterations==2000) printf("2000 iter");
  }
  // Printing solution
  printf("\nSolution:\n");
  for (i=0;i<N;i++)
      printf("x%d=%f\n",i+1,x[i]);
  printf("%d iterations were made",iterations);
}


я не могу понять в чем проблема,что сделать?как исправить?
PM MAIL   Вверх
toxx
Дата 17.4.2010, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 4
Всего: 13



Truegirl
А вы себе представляете метод Зейделя?
Предстваляете как точность вычисляется?
Решив систему по вашему алгоритму на листочке думаю даст ответ...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0404 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.