Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/27: Рейтинг темы: голосов - 27, средняя оценка - 4.85
kristaa
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 7
1

Исправить ошибку "invalid suffix x on integer constant"

04.10.2012, 22:32. Просмотров 4914. Ответов 7
Метки нет (Все метки)

Задали задание, не понимаю почему пишет invalid suffix x on integer constant .
Спасибо большое!

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
#include <stdio.h>
#include <math.h>
 
int n;
void sisestamine (int *ym, int *H, int *C, int *a)
{
printf("Sisesta funktsiooni piirv22rtus YM|\n");
scanf("%d", ym);
printf("Sisesta sammu v22rtus H\n");
scanf("%d", H);
printf("Sisesta sammu koefitsent C\n");
scanf("%d", C);
printf("Sisesta x algv22rtus\n");
scanf("%d", a);
}
void arvutamine (int a, int C, int H, int ym, int x[15], float y[15])
{
int i=0;
x[0]=a;
       do 
             {      
                   y[i]=((2x[i]+1)/sqrt(2x[i]^2+3*x[i]+4)^3-7);
                     
                     x[i+1]=(x[i]+C^i*H);
                     i++;
                     n=i;}
       while (i<15 && y[i-1]<=ym);
                     }
void v2ljastus (int x[15], float y[15])
{
int i;
printf("X|Y\n");
for(i=0;i<=n-1;i++)
{
                    printf("%d|%f\n", x[i], y[i]);
                    }
                    } 
int main(void)
{
int i,a;                
int x[15];
float y[15];
int ym, H, C;
sisestamine (&ym,&H,&C,&a);
arvutamine (a,C,H,ym,x,y);
v2ljastus (x,y);
    printf("Vajuta enter v2ljumiseks!\n");
    getchar();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2012, 22:32
Ответы с готовыми решениями:

Исправить ошибку "integer operation result is out of range"
У меня есть макрос /* 32-битное преобразование. Например 0x12569ADE =&gt; 0xDE9A5612 */ #define...

Warning: integer constant is too large for "long" type
Можете пояснить и написать, что нужно сделать в коде, чтобы компилятор не выдавал следующие...

Исправить ошибку: "Cannot convert "STUDENTS**" to int"
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include&lt;alloc.h&gt; #include &lt;string.h&gt; #define...

Как исправить ошибку "Точка входа должна быть определена"?

Исправить ошибку: error C4700: использована неинициализированная локальная переменная "n"
перевожу с С++ на Си такой код: Код С++: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

7
Evgen2sat
19 / 19 / 13
Регистрация: 22.11.2011
Сообщений: 101
04.10.2012, 23:18 2
kristaa, попробуй
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
#include <stdio.h>
 #include <math.h>
 
 int n;
 void sisestamine (int *ym, int *H, int *C, int *a)
 {
 printf("Sisesta funktsiooni piirv22rtus YM|\n");
 scanf("%d", ym);
 printf("Sisesta sammu v22rtus H\n");
 scanf("%d", H);
 printf("Sisesta sammu koefitsent C\n");
 scanf("%d", C);
 printf("Sisesta x algv22rtus\n");
 scanf("%d", a);
 }
 void arvutamine (int a, int C, int H, int ym, int x[15], float y[15])
 {
 int i=0;
 x[0]=a;
 do 
 { 
     double perem = pow((2*pow((double)x[i],2)+3*x[i]+4),3)-7;
 y[i]=(2*x[i]+1)/pow(perem,1/2);
 
 x[i+1]=(x[i]+C^i*H);
 i++;
 n=i;}
 while (i<15 && y[i-1]<=ym);
 }
 void v2ljastus (int x[15], float y[15])
 {
 int i;
 printf("X|Y\n");
 for(i=0;i<=n-1;i++)
 {
 printf("%d|%f\n", x[i], y[i]);
 }
 } 
 int main(void)
 {
 int i,a; 
 int x[15];
 float y[15];
 int ym, H, C;
 sisestamine (&ym,&H,&C,&a);
 arvutamine (a,C,H,ym,x,y);
 v2ljastus (x,y);
 printf("Vajuta enter v2ljumiseks!\n");
 getchar();
 return 0;
 }
Добавлено через 2 минуты
Цитата Сообщение от kristaa Посмотреть сообщение
invalid suffix x on integer constant
это потому что вы писали
2x[i]^2+3*x[i]+4)^3-7
а нужно
2*x[i]^2+3*x[i]+4)^3-7
1
kristaa
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 7
04.10.2012, 23:31  [ТС] 3
спасииибо!!!

Добавлено через 11 минут
при запуске почему то этот отрезок не срабатывает
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
 int i;
 printf("X|Y\n");
 for(i=0;i<=n-1;i++)
 {
 printf("%d|%f\n", x[i], y[i]);
 }
 } 
 int main(void)
 {
 int i,a; 
 int x[15];
 float y[15];
 int ym, H, C;
 sisestamine (&ym,&H,&C,&a);
 arvutamine (a,C,H,ym,x,y);
 v2ljastus (x,y);
 printf("Vajuta enter v2ljumiseks!\n");
 getchar();
 return 0;
 }
0
Evgen2sat
19 / 19 / 13
Регистрация: 22.11.2011
Сообщений: 101
04.10.2012, 23:42 4
kristaa, в смысле отрезок не срабатывает
0
04.10.2012, 23:42
kristaa
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 7
04.10.2012, 23:47  [ТС] 5
вот смотри, у меня на этот отрезке программа закрывается, а в идеале должна быть такой
0
Миниатюры
Исправить ошибку "invalid suffix x on integer constant"   Исправить ошибку "invalid suffix x on integer constant"  
Evgen2sat
19 / 19 / 13
Регистрация: 22.11.2011
Сообщений: 101
05.10.2012, 08:28 6
kristaa, я так понимаю у вас не все значения выводит на консоль?

Добавлено через 14 минут
Лучше выложите задание, которое вам нужно сделать
0
kristaa
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 7
05.10.2012, 23:40  [ТС] 7
Табулирование функции
1) Все первоначальные значения реальные числа вводимые на клавиатуре.
Все данные а итоге должны быть ввиде таблицы Argument | Funktsioon
X1 | Y1
X2 | Y2
j n e
Дано первоначальное значение аргумента А, верхний предел значения функции YM
Начальное значение шага H и коэффициент шага C
Значение функции рассчитывается A, A + H, A + H + C*H, A + H + C*H + C2*H … шаг каждый раз берется при условии, что С не превышает YM , в то же время не больше 15 раз
Функция
2x + 1
y =
________
знаменатель под корнем(2x^2+ 3x + 4)^3– 7



Вот код, который дали как основание.
Первый раз дали задание, тяжело пока всё понять, очень нужна помощь
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
#include <stdio.h>
#include <math.h>
 
int main()
    {
      double a, h, ym, c, n, x, y, i;
      printf("Sisesta algväärtus a: ");
    scanf("%lf", &a);
    printf("Sisesta alampiir ym: ");
    scanf("%lf", &ym);
    printf("Sisesta argument n: ");
    scanf("%lf", &n);  
    printf("sisesta samm h: ");  
    scanf("%lf", &h); 
    printf("sisesta koefitsent c: ");
    scanf("%lf", &c);
    i=0;
    while(i<15)
    {
               
               x=a+(i*h*pow(c,n-1));
               printf("%.2lf | ", x);
              if (x==0)
              {
                       printf("väärtus puudub\n");
                       }
                       else
                       { 
                            y=;
                           printf("%.3lf\n", y);
                            }
                        i++;
                        
                        }
                        
        getchar();      
        getchar();      
        return 0;       
   }
0
kristaa
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 7
08.10.2012, 00:06  [ТС] 8
Да, именно так!
0
08.10.2012, 00:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 00:06

Как исправить ошибку "В: необъявленный идентификатор"?
Подскажите пожалуйста, как исправить : В: необъявленный идентификатор Код: # include...

Как исправить ошибку "Необъявленный идентификатор"?
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; /* подсчет вводимых символов; 2-я...

Исправить ошибку "Abnormal programm termination"
начал разбираться с указателями void sort (int n, int a) { int b, *pb; int i, *pi=&amp;i; ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru