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

Необходимо поправить код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ посмотрите на наличие ошибок http://www.cyberforum.ru/cpp-beginners/thread882075.html
первая #include <iostream> using namespace std; int main() { setlocale(0, "RUS"); int n;
C++ Разложение косинуса в ряд Тейлора подскажите как написать програму для разложения косинуса в ряд Тейлора http://www.cyberforum.ru/cpp-beginners/thread882073.html
Однонаправленный список (создать список из целых чисел; подсчитать кол-во отрицательных элементов.создав из них новый список) C++
#include<fstream> #include<string> using namespace std; #include"list.cpp" ifstream in("input.txt"); ofstream out("output.txt"); int main() { List<int>I; int value;
C++ Даны три числа, если они могут быть длинами сторон равнобедренного треугольника, вычислите длины его высот
Здравствуйте. Помогите пожалуйста, очень нужно. Моя подруга попросила решить меня, но я давно ничем таким не занималась и ничего сделать не могу((( даны три числа.Если они могут быть длинами сторон равнобедренного треугольника,вычислите длины его высот.Выведите длину основания и длины высот в порядке возрастания. (разветвляющий алгоритм) Только с printf и scanf Поменять местами первую и...
C++ перевод кода с basic на c++ http://www.cyberforum.ru/cpp-beginners/thread882039.html
есть такая проблема: поставлена задача, к которой я смог написать алгоритм на qbasic, но как я ни бился, а переписать его на c++ не смог. задача: Радиотехническое устройство состоит из m блоков. Надежность устройства (время наработки на отказ) определяется наименее надежным блоком. Блоки можно заказать на любом из n предприятий. При этом известна надежность каждого блока, изготовленного на...
C++ sin^2*y Всем привет. подскажите, что не так. нужно написать sin^2*y. Пишу так: pow(sin,2)*y вот ошибка: error C2664: 'pow' : cannot convert parameter 1 from 'double (double)' to 'double' что не так? подробнее

Показать сообщение отдельно
Reminaru
0 / 0 / 0
Регистрация: 20.04.2013
Сообщений: 14

Необходимо поправить код - C++

28.05.2013, 15:43. Просмотров 237. Ответов 2
Метки (Все метки)

в общем программа решает СЛАУ методом Жордана-Гаусса с выбором ведущего элемента, проблема в том, что код вроде бы правильный но выдает ошибку когда я проверяю.
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include "StdAfx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream>
using namespace std;
 
int main()
{
  setlocale(LC_ALL, "Russian");
 
  float a[11][11], b[11], x[11], t, p;
  int i, j, k, m, n, l;
   
 cout<<"Метод Жордана-Гаусса с выбором ведущего элемента.\n\n";
  n=3;
 
 
 cout<<"Введите a[1][1]:";
 cin >> a[1][1];
 cout<<"Введите a[1][2]:";
 cin >> a[1][2];
 cout<<"Введите a[1][3]:";
 cin >> a[1][3];
 cout<<"Введите a[2][1]:";
 cin >> a[2][1];
 cout<<"Введите a[2][2]:";
 cin >> a[2][2];
 cout<<"Введите a[2][3]:";
 cin >> a[2][3];
 cout<<"Введите a[3][1]:";
 cin >> a[3][1];
 cout<<"Введите a[3][2]:";
 cin >> a[3][2];
 cout<<"Введите a[3][3]:";
 cin >> a[3][3];
 cout<<"Введите b[1]: ";
 cin >>  b[1];
 cout<<"Введите b[2]: "; 
 cin >>  b[2];
 cout<<"Введите b[3]: ";
 cin >>  b[3];
 
 cout << "\n\n";
  for (i=1; i<=n; i++)
  {
    for (j=1; j<=n; j++)
     cout << a[i][j] << "  ";
    cout << b[i] << "\n";
  }
 
  for(k=1; k<=n-1; k++)
 p=abs(a[k][k]);
    l=k;
   for (i=k+1; i<=n; i++)
 {
  if (abs(a[i][k])>p)
  {
   p=a[i][k];
    l=i;
    
  }
  if (l!=k)
   for (j=k; j<n; j++)
   { 
    t=a[k][j];
    a[k][j]=a[l][j];
    a[l][j]=t;
    
 
  }
 }
    
  
   double eps=.000001;
   double max;
   int max_i;
   double lead, a_div_lead;
 
   for(k=1; k<=n; k++)
   {
 
      max=0;
      max_i=-1;
 
      for(int i=k; i<=n; i++)
      {
     if(fabs(a[i][k])>max)
     {
        max=fabs(a[i][k]);
        max_i=i;
     }
      }
 
 
      if(max_i==-1 || fabs(a[max_i][k])<eps)
      {
        cout << "\n\n" << "Error: det=0" << "\n\n";
        break;
        
    
      }
 
 
 
      lead=a[k][k];
 
      for(j=k; j<=n; j++)
        a[k][j]/=lead;
      b[k]/=lead;
 
      for(i=1; i<=n; i++)
      {
        a_div_lead=a[i][k]/a[k][k];
 
        if(i!=k)
        {
          for(j=k; j<=n; j++)
            a[i][j]-=a[k][j]*a_div_lead;
          b[i]-=b[k]*a_div_lead;
        }
      }
  }
 
  cout << "\n\n";
  for (i=1; i<=n; i++)
  {
    for (j=1; j<=n; j++)
      cout << a[i][j] << "  ";
    cout << b[i] << "\n";
  }
 
 
  getch();
}
Добавлено через 9 минут
Ведущий элемент не меняет как надо к сожалению
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru