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

Проблемы с кодом - C++

Восстановить пароль Регистрация
 
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
08.12.2012, 21:45     Проблемы с кодом #1
Не компилируется код, пишет ошибки, причем очень много, пожалуйста, посмотрите, что тут нужно исправить если нужны коды ошибок, я напишу!Компилятор турбоси30

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
#define N 20
int main( void )
{
  double mas[N] [N + 1];
  double x[N]; //Корни системы
  int otv[N]; //Отвечает за порядок корней
  int i, j, k, n;
  //Ввод данных
  clrscr();
  do
  {
    printf( "Введите число уравнений системы: " );
    scanf( "%d", & n );
    if ( N < n )
      printf( "Слишком большое число уравнений. Повторите ввод\n" );
  }
  while ( N < n );
  printf( "Введите систему:\n" );
  for ( i = 0; i < n; i++ )
    for ( j = 0; j < n + 1; j++ )
      scanf( "%lf", & mas[i] [j] );
  //Вывод введенной системы
  clrscr();
  printf( "Система:\n" );
  for ( i = 0; i < n; i++ )
  {
    for ( j = 0; j < n + 1; j++ )
      printf( "%7.2f ", mas[i] [j] );
    printf( "\n" );
  }
  //Сначала все корни по порядку
  for ( i = 0; i < n + 1; i++ )
    otv[i] = i;
  //Прямой ход метода Гаусса
  for ( k = 0; k < n; k++ )
  { //На какой позиции должен стоять главный элемент
    glavelem( k, mas, n, otv ); //Установка главного элемента
    if ( fabs( mas[k] [k] ) < 0.0001 )
    {
      printf( "Система не имеет единственного решения" );
      return ( 0 );
    }
    for ( j = n; j >= k; j-- )
      mas[k] [j] /= mas[k] [k];
    for ( i = k + 1; i < n; i++ )
      for ( j = n; j >= k; j-- )
        mas[i] [j] -= mas[k] [j] * mas[i] [k];
  }
  //Обратный ход
  for ( i = 0; i < n; i++ )
    x[i] = mas[i] [n];
  for ( i = n - 2; i >= 0; i-- )
    for ( j = i + 1; j < n; j++ )
      x[i] -= x[j] * mas[i] [j];
  //Вывод результата
  printf( "Ответ:\n" );
  for ( i = 0; i < n; i++ )
    for ( j = 0; j < n; j++ )
      if ( i == otv[j] )
      { //Расставляем корни по порядку
        printf( "%f\n", x[j] );
        break;
      }
  return ( 0 );
}
//----------------------------------------------
//Описание  функции
//----------------------------------------------
void glavelem( int k, double mas[] [N + 1], int n, int otv[] )
{
  int i, j, i_max = k, j_max = k;
  double temp;
  //Ищем максимальный по модулю элемент
  for ( i = k; i < n; i++ )
    for ( j = k; j < n; j++ )
      if ( fabs( mas[i_max] [j_max] ) < fabs( mas[i] [j] ) )
      {
        i_max = i;
        j_max = j;
      }
  //Переставляем строки
  for ( j = k; j < n + 1; j++ )
  {
    temp = mas[k] [j];
    mas[k] [j] = mas[i_max] [j];
    mas[i_max] [j] = temp;
  }
  //Переставляем столбцы
  for ( i = 0; i < n; i++ )
  {
    temp = mas[i] [k];
    mas[i] [k] = mas[i] [j_max];
    mas[i] [j_max] = temp;
  }
  //Учитываем изменение порядка корней
  i = otv[k];
  otv[k] = otv[j_max];
  otv[j_max] = i;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2012, 21:45     Проблемы с кодом
Посмотрите здесь:

C++ подскажите с кодом
Непонятки с кодом. C++
Сложности с кодом C++
с кодом С++ проблемы...пожалуйста... C++
C++ Проблемы с кодом. Ругается на strcpy. Хелпните
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nijaz
34 / 34 / 9
Регистрация: 16.12.2010
Сообщений: 100
08.12.2012, 22:01     Проблемы с кодом #2
библиотеки подключи: stdio.h, stdlib.h и math.h
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
08.12.2012, 22:02  [ТС]     Проблемы с кодом #3
их уже подключил, часть ошибок ушла, но все равно еще есть
Nijaz
34 / 34 / 9
Регистрация: 16.12.2010
Сообщений: 100
08.12.2012, 22:03     Проблемы с кодом #4
clrscr() убери
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,044
08.12.2012, 22:07     Проблемы с кодом #5
перед main опиши свои функции
C++
1
2
3
void glavelem( int k, double mas[] [N + 1], int n, int otv[] );
int main( void )
{....................
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
08.12.2012, 22:08  [ТС]     Проблемы с кодом #6
ошибки следующие
Function 'glavelem' should have a prototype
If statement missing )
Function should return a value
Declaration terminated incorrectly
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,044
08.12.2012, 22:09     Проблемы с кодом #7
Цитата Сообщение от Максим1827 Посмотреть сообщение
Function 'glavelem' should have a prototype
еще раз
Цитата Сообщение от ValeryS Посмотреть сообщение
перед main опиши свои функции
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
08.12.2012, 22:12  [ТС]     Проблемы с кодом #8
с описанием ошибка пропала!спасибо огромное!а вот оставшиеся ошибки выделяют мне циклы for и скобочки такие {
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,044
08.12.2012, 22:19     Проблемы с кодом #9
Цитата Сообщение от Максим1827 Посмотреть сообщение
мне циклы for и скобочки такие {
два раза пересмотрел криминала не вижу
приведи исправленный листинг и ошибки
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
08.12.2012, 22:45  [ТС]     Проблемы с кодом #10
привожу ошибки и выделяю красным где он ее показывает
1) if statement missing )
2)function should return a value
3) declaration terminated incorrectly
4)declaration syntax error
5) variable 'i' is initialized more than once
6)declaration syntax error

7) declaration terminated incorrectly
8)variable 'i' is initialized more than once
9)declaration syntax error
10)variable 'i' is initialized more than once
11)declaration syntax error

12)declaration syntax error

13)style of function is now obsolete
14) ) expected

15) declaration terminated incorrectly
16)variable 'i' is initialized more than once
17)declaration syntax error
18)variable 'j' is initialized more than once
19)declaration syntax error
20)variable 'j' is initialized more than once
21)declaration syntax error
22)unexpected }

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
#define N 20
#include <CONIO.H>
#include <STDIO.H>
#include <MATH.H>
 
void glavelem(int k,double mas[][N+1],int n,int otv[]);
 
int main(void)
 
 
{
 
double mas[N] [N+1];
double x[N];
int otv[N];
int i,j,k,n;
clrscr();
do
 
{
 
printf("VVedite 4islo ypaBHeHuu cucTeMbl");
scanf("%d",&n);
if(N<n)
printf("CJluIIIkoM 6oJlbIIIoe 4ucJlo ypaBHeHuu`.IIoBTopuTe BBog\n");
 
}
 
while(N<n);
printf("BBeguTe cucTemy\n");
for(i=0;i<n;i++)
for(j=0;j<n+1;j++)
scanf("%lf",&mas[i][j]);
clrscr();
printf("CuCTeMa\n");
for(i=0;i<n;i++)
 
{
 
for(j=0;j<n+1;j++)
printf("%7.2f",mas[i][j]);
printf("\n");
 
}
 
for(i=0;i<n+1;i++)
otv[i]=i;
for(k=0;k<n;k++)
glavelem(k,mas,n,otv);
if(fabs(mas[k][k]<0.0001)
 
[COLOR="Red"]{     //1)[/COLOR]
 
printf("CucTeMa He uMeeT eguHcTBeHHoro PeIIIeHu9l");
return(0);
 
}
 
for(j=n,j>=k,j--)
mas[k][j]/=mas[k][k];
for(i=k+1;i<n;i++)
for(j=n;j>=k;j--)
mas[i][j]-=mas[k][j]*mas[i][k];
 
[COLOR="red"]} //2)[/COLOR]
 
[COLOR="red"]for(i=0;i<n;i++)  //3) выделяет первую скобку, 4) выделяет n, 5),6) выделяет последнюю скобку [/COLOR]
x[i]=mas[i][n];
[COLOR="red"]for(i=n-2;i>=0;i--) //7)выделяет первую скобку, 8),9) выделяет 0, 10),11) выделяет последнюю скобку[/COLOR]
[COLOR="red"]for(j=i+1;j<n:j++) //12)выделяет n[/COLOR]
x[i]-=x[j]*mas[i][j];
[COLOR="red"]printf("otvet\n"); //13) выделяет первые ковычки, 14) выделяет o[/COLOR]
[COLOR="red"]for(i=0;i<n;i++) //15) выделяет первую скобку, 16) выделяет n, 17) выделяет последнюю скобку[/COLOR]
[COLOR="red"]for(j=0;j<n;j++) //18),19) выделяет n , 20),21)выделяет последнюю скобку[/COLOR]
if(i==otv[j])
 
{
 
printf("%f\n",x[j]);
break;
 
}
 
return(0);
 
[COLOR="red"]} //22) выделяет скобку[/COLOR]
 
void glavelem(int k, double mas[][N+1], int n, int otv[])
 
{
 
int i,j,i_max=k,j_max=k;
double temp;
for(i=k;i<n;i++)
for(j=k;j<n;j++)
if(fabs(mas[i_max][j_max])<fabs(mas[i][j]))
 
{
 
i_max=i;
j_max=j;
 
}
 
for(j=k;j<n+1;j++)
 
{
 
temp=mas[k][j];
mas[k][j]=mas[i_max][j];
mas[i_max][j]=temp;
 
}
 
for(i=0;i<n;i++)
 
{
 
temp=mas[i][k];
mas[i][k]=mas[i][j_max];
mas[i][j_max]=temp;
 
}
 
i=otv[k];
otv[k]=otv[j_max];
otv[j_max]=i;
 
}
Добавлено через 1 минуту
[COLOR="Red"] этот тег добавил с мыслью о том что он подсветит те места в которых я его поставил,но этого не произошло, поэтому не обращайте на него внимания!и еще, огромное спасибо за то что тратите время на решение моих проблем!
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,044
08.12.2012, 22:51     Проблемы с кодом #11
Цитата Сообщение от Максим1827 Посмотреть сообщение
50 if(fabs(mas[k][k]<0.0001)
скобки подсчитай
C++
1
if(fabs(mas[k][k]<0.0001))
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
08.12.2012, 22:51     Проблемы с кодом #12
1.
C++
1
if(fabs(mas[k][k]<0.0001))
2. } судя по всему лишняя. попробуй удалить, многие ошибки должны пропасть
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,044
08.12.2012, 22:57     Проблемы с кодом #13
остальные могут быть наведенные(из за этой скобки)
оставшиеся ошибки приведи и пиши номер строки листинга (который в посте)

Добавлено через 3 минуты
Цитата Сообщение от ZoRT Посмотреть сообщение
} судя по всему лишняя. попробуй удалить, многие ошибки должны пропасть
со скобками надо аккуратнее одну ошибку исправил компильнул потом другую
иначе можно еще больше ошибок получить
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
08.12.2012, 23:08  [ТС]     Проблемы с кодом #14
а у меня в коде, точно также как в вашем примере!

Добавлено через 4 минуты
отлично!скобку убрал, осталось 1 ошибка:

52: If statement missing )
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
08.12.2012, 23:08     Проблемы с кодом #15
Цитата Сообщение от Максим1827 Посмотреть сообщение
а у меня в коде, точно также как в вашем примере!
вероятно так
C++
1
if(fabs(mas[k][k])<0.0001)
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
08.12.2012, 23:11  [ТС]     Проблемы с кодом #16
все!спасибо огромное, всем принимающим участие в решении моей проблемы!Очень помогли!

Добавлено через 12 секунд
сам бы ни в жизнь не разобрался
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,044
08.12.2012, 23:17     Проблемы с кодом #17
Цитата Сообщение от ZoRT Посмотреть сообщение
вероятно так
Пока воевал с оперой(заглючила) уже ответили
Цитата Сообщение от ZoRT Посмотреть сообщение
if(fabs(mas[k][k])<0.0001)
самое смешное что в первом посте он правильно написал
Цитата Сообщение от Максим1827 Посмотреть сообщение
if ( fabs( mas[k] [k] ) < 0.0001 )
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 23:24     Проблемы с кодом
Еще ссылки по теме:

C++ Проблемы с кодом Необработанное исключение по адресу 0x00A85A9B
Трабла с кодом C++
C++ что-то не то с кодом C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
08.12.2012, 23:24  [ТС]     Проблемы с кодом #18
да да!я уже разобрался)
Yandex
Объявления
08.12.2012, 23:24     Проблемы с кодом
Ответ Создать тему
Опции темы

Текущее время: 00:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru