Форум программистов, компьютерный форум CyberForum.ru

Ошибка в коде.Метод зейделя - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить колич-во комментариев, количество утверждений и для каждого утверждения указать, сколько строк оно http://www.cyberforum.ru/cpp-beginners/thread1171131.html
задание такое Дан текст какой то в файле Определить колич-во комментариев, количество утверждений и для каждого утверждения указать, сколько строк оно занимает. с комментариями все ясно, незнаю как с утверждениями делать
C++ Поочередный вывод на экран без задержки всей программы Имеется форма, на ней статус бар, который должен выполняться постоянно. Внизу формы должна быть прорисовка обьекта постепенно (пунктирная штриховка от пункта А->B) , но при этом не блокируя выполнения остальной части программы. (пробовал sleep(); в цикле - блочит всю программу) Подскажите способ решения, пожалуйста. PS: извините, что лезу в С++ топик со своим СLI WF, но туда совсем... http://www.cyberforum.ru/cpp-beginners/thread1171127.html
Графы.Поиск в глубину и в ширину C++
Задание следующее "Задана система двусторонних дорог, где для любой пары городов есть соединяющий их путь. Найти город с минимальной суммой расстояний до остальных городов". Нужно использовать поиск в ширину, либо поискв глубину. Вот всё что сделал. Пример входного файла: 5 0 3 4 1 5 22 0 4 5 4 2 3 0 1 5 22 3 4 0 4 1 5 1 5 0
C++ Шифрование текста путем замены символов
Здравствуйте, уважаемые участники форума! Вот озадачился вопросом о создании программы шифровании текста путем замены символов. Задача, которую я себе поставил, очень сходна с вопросом пользователя vveronikka, с некоторой модификацией задачи, связанной с тем, что предполагается загрузка исходного текста из файла (стандартно - расширение doc). Также хотелось бы реализовать возможность замены...
C++ Сколько раз встречается неразрывный набор символов в строке http://www.cyberforum.ru/cpp-beginners/thread1171108.html
Всем привет ! У меня есть программа, которая определяет, есть ли неразрывный набор символов в строке или нет. Подскажите, пожалуйста, что добавить в данный код, чтобы программа считала, сколько раз данный набор символов встречается в строке. Вот мой код: bool AllCharsInStr(const char *string1, char *string2) { int len = strlen(string2); // находим длину строки for (int i = 0; string1...
C++ Написать с помощью дочернего класса программу, получающую указанную последовательность Даны натуральное число n, целочисленная квадратная матрица порядка n, получить b1, ...,bn, где bi это наименьшее из значений элементов, находящихся в начале i-й сроки матрицы до элемента, принадлежащей главной диагонали, включительно. Написать с помощью дочернего класса. Кто может выслать код написанный простым языком с коментами? У меня не получается, что бы выводил наименьшие число ниже... подробнее

Показать сообщение отдельно
Ev_Hyper
Заблокирован
11.05.2014, 13:55     Ошибка в коде.Метод зейделя
andryshka, вечером посмотрю, попробую исправить.
Но в while исправьте с :
C++
1
while((it!=100)||(de!=E));
на
C++
1
 while(it!=100 && de!=0.1);
Для ускорения поиска ошибки, запускайте тестовый пример. Входные данные, для вставки в консоль под спойлером:
Кликните здесь для просмотра всего текста

Код
5
-2.17
1
0
0
0
0
1
-2
1
0
0
6
0
1
-2
1
0
6
0
0
1
-2
1
6
0
0
0
1
-2.17
0
0.1
1


Добавлено через 23 часа 13 минут
andryshka, s это значения с предыдущей итерации, а x - с текущей?

Добавлено через 21 минуту
andryshka, вы уверены, что ваш пример "рабочий"?
Проверил на другом тестовом примере:
Код
введите число неизвестных: 4
Введите матрицу
Элемент [1 , 1]= 3
Элемент [1 , 2]= 0
Элемент [1 , 3]= 0
Элемент [1 , 4]= -3
Элемент [1 , 5]= 21
Элемент [2 , 1]= 0
Элемент [2 , 2]= 11
Элемент [2 , 3]= 1
Элемент [2 , 4]= 2
Элемент [2 , 5]= 21
Элемент [3 , 1]= 1
Элемент [3 , 2]= 0
Элемент [3 , 3]= 5
Элемент [3 , 4]= 0
Элемент [3 , 5]= 48
Элемент [4 , 1]= -1
Элемент [4 , 2]= 2
Элемент [4 , 3]= 7
Элемент [4 , 4]= 11
Элемент [4 , 5]= 61
3       0       0       -3      21
0       11      1       2       21
1       0       5       0       48
-1      2       7       11      61

Введите точность
0.1
Введите релаксацию
1
x[0]=8
x[1]=1
x[2]=8
x[3]=1
Для продолжения нажмите любую клавишу . . .
вот более правильный код, правда без релаксации:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
int main()
{
    setlocale(0, "");
    int i,j,n,it,m,k;
    double E,s,w,de,d;
         cout << "введите число неизвестных: ";
         cin >> m;
         n=m;
         m+=1;
    double **matrix = new double *[n];
        for (i=0; i<n ;i++)
            matrix[i]=new double[m];
            
    double *X=new double [n];
    double *S = new double[n];
    cout << "Введите матрицу\n";
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
        {
            cout << "Элемент " << "[" << i+1 << " , " << j+1 << "]= "  ;
            cin >> matrix[i][j];
        }
      for (i=0; i<n; i++)
       {
          for (j=0; j<m; j++)
            cout << matrix[i][j] << "\t";
        cout << endl;
       }
    cout << endl;
     cout << "Введите точность\n";
     cin >> E;
     cout << "Введите релаксацию\n";
     cin >> w;
        for(i=0; i<n; i++)
         X[i]=0;
 
    it=0;
    do
     {      
        for(i=0; i<n; i++)
        {  
            S[i] = matrix[i][m-1];
                for(j=0;j<n;j++)
                    if (j!=i){
                    S[i]-=matrix[i][j]*X[j];
                    }
                S[i]/=matrix[i][i];
        }    
 
        it++;
        int error =0;
        for (int i = 0; i < n; i++)
            error += abs (X[i] - S[i]);
        // Если необходимая точность достигнута, то завершаем процесс       
        if (error < E)
        {
            break;
        }
 
        for(int j=0;j<n;j++){
            X[j]=S[j];
        }
 
    }       
        while(it!=100);
        
            for(i=0;i<n;i++)
     {
        cout << "x["<<i<<"]=" << X[i] << endl;
     }
        return 0;
}
Вариант НЕ окончательный, результаты мне не нравятся, поэтому чуть позже еще раз просмотру алгоритм.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru