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

error C2061: синтаксическая ошибка: идентификатор "x" - C++

Восстановить пароль Регистрация
 
Demet
5 / 5 / 0
Регистрация: 19.10.2013
Сообщений: 125
23.11.2013, 20:44     error C2061: синтаксическая ошибка: идентификатор "x" #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
// Laboratornaa.cpp: определяет точку входа для консольного приложения.
//
 
#include"stdafx.h"
#include<iostream>
#include<math.h>
#include<fstream>
#include<iomanip>
using namespace std;
double fu(double x1,double y1)
{double u1;
if (fabs(x1*y1)>=5) u1=pow(cos(exp(1.)),3);
if ((fabs(x1*y1)>5) && (fabs(x1*y1)<15)) u1=fabs(pow(x1,2)+(y1,2));
if (fabs(x1*y1)>=15) u1=sin(fabs(x1+y1));
return u1;
}
int _tmain(int argc, _TCHAR* argv[])
{
    fstream f1,f2;
    f1.open("new file.txt" , ios::out);
    f2.open("new file.xls" , ios::out);
    setlocale(LC_ALL, "Russian");
    double u,x,y,k,sum,max;
    double min,xn,xk,hx,yn,yk,hy,srar;
    cout<< " введите границы x ";
    cin>>xn>>xk;
    cout<< " введите границы y ";
    cin>>yn>>yk;
    cout<< " введите шаг x ";
    cin>>hx;
    cout<< " введите шаг y ";
    cin>>hy;
    sum=0;
    k=0;
    min=1000000;
    max=-1000000; 
    while x=xn; x<=xk;x=x+hx;
    {while y=yn; y<=yk;y=y+hy;
    {u=fu(x,y);
    printf("\n x=% 6.2f \t y=%6.2f \t u=%6.4f\n",x,y,u);
    f1<<setw(10)<<x<<setw(10)<<y<<setw(20)<<u<<endl;
    f2<<" "<<x<<" "<<y<<" "<<u<<endl;
    k=k+1;
    sum=sum+u;
    if (min>u) min=u;
    if (max<u) max=u;
    }}
    srar=sum/k;
    cout<<endl<<"минимум = "<<min<<endl;
    cout<<endl<<"максимум = "<<max<<endl;
    cout<<endl<<"среднее арифметическое = "<<srar<<endl;
    f1<<endl<<"минимум = "<<min<<endl;
    f1<<endl<<"максимум = "<<max<<endl;
    f1<<endl<<"среднее арифметическое = "<<srar<<endl;
    f2<<endl<<"минимум = "<<min<<endl;
    f2<<endl<<"максимум = "<<max<<endl;
    f2<<endl<<"среднее арифметическое = "<<srar<<endl;
    cin>>x;
    return 0;
}
Добавлено через 23 минуты
Помогите пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex5
883 / 618 / 81
Регистрация: 12.04.2010
Сообщений: 1,552
23.11.2013, 20:53     error C2061: синтаксическая ошибка: идентификатор "x" #2
C++
1
2
    for( x=xn; x<=xk;x=x+hx )  // ok 
    //while x=xn; x<=xk;x=x+hx;  // error
C++
1
2
    for( y=yn; y<=yk;y=y+hy )  // ok 
    //while y=yn; y<=yk;y=y+hy; // error
Alex566
 Аватар для Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
23.11.2013, 20:53     error C2061: синтаксическая ошибка: идентификатор "x" #3
Цитата Сообщение от Demet Посмотреть сообщение
C++
1
2
while x=xn; x<=xk;x=x+hx;
* * {while y=yn; y<=yk;y=y+hy;
Может быть эти строки должны выглядеть так:
C++
1
2
3
4
 while (x==xn && x<=xk && x==x+hx)
    {
        while (y==yn && y<=yk && y==y+hy)
        {
Или так:
C++
1
2
3
4
 while (x==xn || x<=xk || x==x+hx)
    {
        while (y==yn || y<=yk || y==y+hy)
        {
?
Хотя тут скорее всего должен быть цикл for как это уже указали. =)
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
23.11.2013, 20:54     error C2061: синтаксическая ошибка: идентификатор "x" #4
строки 37-38 замените на
C++
1
2
3
; 
    for( x=xn; x<=xk;x=x+hx) {
        for (y=yn; y<=yk;y=y+hy)
Demet
5 / 5 / 0
Регистрация: 19.10.2013
Сообщений: 125
23.11.2013, 21:02  [ТС]     error C2061: синтаксическая ошибка: идентификатор "x" #5
А мне надо составить цикл именно с while. C for я уже составил.
Alex566
 Аватар для Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
23.11.2013, 21:27     error C2061: синтаксическая ошибка: идентификатор "x" #6
Цитата Сообщение от Demet Посмотреть сообщение
А мне надо составить цикл именно с while. C for я уже составил.
Тогда первое действие выполните перед вхождением в цикл
C++
1
x==xn;
Затем второе поставьте как условие
C++
1
while (x<=xk)
И третье добавьте перед завершением итерации
C++
1
x==x+hx;
C++
1
2
3
4
5
6
7
8
9
10
11
    x==xn;
    while (x<=xk)
    {
       y==yn;
       while (y<=yk)
       {
         ...
         y==y+hy;
       }
    x==x+hx;
    }
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
23.11.2013, 21:27     error C2061: синтаксическая ошибка: идентификатор "x" #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
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
// Laboratornaa.cpp: определяет точку входа для консольного приложения.
//
 
#include"stdafx.h"
#include<iostream>
#include<cmath>
#include<fstream>
#include<iomanip>
 
 
using namespace std;
 
double fu(double x1,double y1) {
    double u1 = 0;
    
    if (fabs(x1*y1)>=5)
        u1=pow(cos(exp(1.)),3);
    
    if ((fabs(x1*y1)>5) && (fabs(x1*y1)<15))
        u1=fabs(pow(x1,2)+(y1,2));
    
    if (fabs(x1*y1)>=15)
        u1=sin(fabs(x1+y1));
    return u1;
}
int _tmain(int argc, _TCHAR* argv[]) {
    fstream f1,f2;
    double u,x,y,k,sum,max;
    double min,xn,xk,hx,yn,yk,hy,srar;
 
    setlocale(LC_ALL, "Russian");
 
    f1.open("new file.txt" , ios::out);
    f2.open("new file.xls" , ios::out);
 
    cout<< " введите границы x ";
    cin>>xn>>xk;
    cout<< " введите границы y ";
    cin>>yn>>yk;
    cout<< " введите шаг x ";
    cin>>hx;
    cout<< " введите шаг y ";
    cin>>hy;
 
    sum=0;
    k=0;
    //min=1000000;
    //max=-1000000;
 
    min = max = fu(xn,yn);
    x=xn;
    while (x<=xk) {
        y=yn;
        while (y<=yk) {
            u=fu(x,y);
            
            printf("\n x=% 6.2f \t y=%6.2f \t u=%6.4f\n",x,y,u);
            f1<<setw(10)<<x<<setw(10)<<y<<setw(20)<<u<<endl;
            f2<<" "<<x<<" "<<y<<" "<<u<<endl;
            
            k=k+1;
            sum=sum+u;
            
            if (min>u)
                min=u;
            if (max<u)
                max=u;
            y=y+hy;
        }
        x=x+hx;
    }
    srar=sum/k;
 
    cout<<endl<<"минимум = "<<min<<endl;
    cout<<endl<<"максимум = "<<max<<endl;
    cout<<endl<<"среднее арифметическое = "<<srar<<endl;
    f1<<endl<<"минимум = "<<min<<endl;
    f1<<endl<<"максимум = "<<max<<endl;
    f1<<endl<<"среднее арифметическое = "<<srar<<endl;
    f2<<endl<<"минимум = "<<min<<endl;
    f2<<endl<<"максимум = "<<max<<endl;
    f2<<endl<<"среднее арифметическое = "<<srar<<endl;
    cin>>x;
    return 0;
}
Demet
5 / 5 / 0
Регистрация: 19.10.2013
Сообщений: 125
23.11.2013, 21:28  [ТС]     error C2061: синтаксическая ошибка: идентификатор "x" #8
Мне в университете сказали что for от while отличается только тем что for в тексте программы нужно заменить на while.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
23.11.2013, 21:37     error C2061: синтаксическая ошибка: идентификатор "x" #9
Цитата Сообщение от Demet Посмотреть сообщение
Мне в университете сказали что for от while отличается только тем что for в тексте программы нужно заменить на while.
Demet, а ты, нуб, так и поверил! Книжки умные читай, а не отрывочную информацию из того что кто-то где-то сказал хватай! Циклы изучаются в начале любой книги по С++!
Alex5
883 / 618 / 81
Регистрация: 12.04.2010
Сообщений: 1,552
23.11.2013, 22:03     error C2061: синтаксическая ошибка: идентификатор "x" #10
Demet,
Цитата Сообщение от Demet Посмотреть сообщение
for от while отличается только тем что for в тексте программы нужно заменить на while
Смысл этой фразы не в том что просто слово "for" заменить на слово "while", а в том что строки
C++
1
2
3
4
5
for( x=xn; x<=xk;x=x+hx)
{
    // ... 
    // ... 
}
необходимо заменить на строки
C++
1
2
3
4
5
6
7
x==xn;
while (x<=xk)
{
    // ... 
    // ...
    x==x+hx;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2013, 22:28     error C2061: синтаксическая ошибка: идентификатор "x"
Еще ссылки по теме:

C++ error C2143: синтаксическая ошибка: отсутствие ";" перед "using"
C++ Error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
Error C2143: синтаксическая ошибка: отсутствие ";" перед "<<" C++

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

Или воспользуйтесь поиском по форуму:
Demet
5 / 5 / 0
Регистрация: 19.10.2013
Сообщений: 125
23.11.2013, 22:28  [ТС]     error C2061: синтаксическая ошибка: идентификатор "x" #11
Kuzia domovenok, Я полностью согласен с вами то что я нуб в C++ .Пойду изучать циклы в C++.
Yandex
Объявления
23.11.2013, 22:28     error C2061: синтаксическая ошибка: идентификатор "x"
Ответ Создать тему
Опции темы

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