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

в чём ошибка? - C++

Восстановить пароль Регистрация
 
Edward_93
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 23
15.05.2011, 18:31     в чём ошибка? #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
#include <iostream> // подключение библиотеки ввода-вывода
#include <conio.h>  // подключение библиотеки функций работы с консолью
#include <cmath>
 
using namespace std;
 
int main()
{ 
    setlocale (LC_ALL,"Russian");
double x1, x2, x3, x4, y1, y2;
double s;
cout << "Введите абциссы вертикальных сторон первого прямоугольника x2>x1>=0\n";
cin >> x1>>x2;
cout << "Ордината верхней стороны y1>0 y1=";
cin >> y1;
cout << "Введите абциссы вертикальных сторон второго прямоугольника x4>xx>=0\n";
cin >> x3>>x4;
cout << "Ордината верхней стороны y2>0 y2=\n";
cin >> y2;
if ((x3>=x2) || (x4<=x1))
cout << "Прямоугольники не пересекаются!\n";
else 
{
    if y1>=y2
}
{
 if ((x3>=x1) && (x4<=x2))
s = (x4-x3) * y2;
else if ((x3>=x1) && (x4>=x2))
s = (x2-x3) * y2;
else if((x3<=x1) && (x4>=x2))
s = (x2-x1) * y2;
else if ((x3<=x1) && (x4<=x2))
s = (x4-x1) * y2;
}
_getch();
return 0;
}
Выдаёт error C2061: syntax error : identifier 'y1'.
Я конечно понимаю что эта программа может быть калякой-балякой))
Но помогите пожалуйста))

 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 18:31     в чём ошибка?
Посмотрите здесь:

в чём ошибка C++
в чём ошибка 3 C++
[C++]В чём ошибка? C++
C++ в чём ошибка C++
В чём ошибка? C++
C++ В чём ошибка?
C++ В чём ошибка?
C++ В чём ошибка?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
m1Rr0r
 Аватар для m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,213
Завершенные тесты: 2
15.05.2011, 19:32     в чём ошибка? #2
проверь скобки

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
else 
{
if (y1>=y2)
 
{
if ((x3>=x1) && (x4<=x2))
s = (x4-x3) * y2;
else if ((x3>=x1) && (x4>=x2))
s = (x2-x3) * y2;
else if((x3<=x1) && (x4>=x2))
s = (x2-x1) * y2;
else if ((x3<=x1) && (x4<=x2))
s = (x4-x1) * y2;
}
}
Edward_93
0 / 0 / 0
Регистрация: 03.05.2011
Сообщений: 23
16.05.2011, 11:55  [ТС]     в чём ошибка? #3
Два прямоугольника, расположенные в первом квадранте, со сторонами, параллельными осям координат, заданы координатами своих левого верхнего и правого нижнего углов. Для первого прямоугольника это точки (х1, у1) и (х2, 0), для второго – (х3, у3), (х4, 0). Составить программу, определяющую, пересекаются ли данные прямоугольники, и вычисляющую площадь общей части, если они пересекаются.
Вот сама задача.
А вот то,что я написал,но я ни как не могу выполнить второе условие,когда они пересекаются.

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
#include <iostream> // подключение библиотеки ввода-вывода
#include <conio.h>  // подключение библиотеки функций работы с консолью
#include <cmath>
 
using namespace std;
 
int main()
{ 
    setlocale (LC_ALL,"Russian");
double x1, x2, x3, x4, y1, y2;
double s;
cout << "Введите абциссы вертикальных сторон первого прямоугольника x2>x1>=0\n";
cin >> x1>>x2;
cout << "Ордината верхней стороны y1>0 y1=";
cin >> y1;
cout << "Введите абциссы вертикальных сторон второго прямоугольника x4>xx>=0\n";
cin >> x3>>x4;
cout << "Ордината верхней стороны y2>0 y2=\n";
cin >> y2;
if ((x3>=x2) || (x4<=x1))
cout << "Прямоугольники не пересекаются!\n";
else 
{
    if (y1>=y2)
    {
 if ((x3>=x1) && (x4<=x2))
s = (x4-x3) * y2;
else if ((x3>=x1) && (x4>=x2))
s = (x2-x3) * y2;
else if((x3<=x1) && (x4>=x2))
s = (x2-x1) * y2;
else if ((x3<=x1) && (x4<=x2))
s = (x4-x1) * y2;
else
{
    if ((x3>=x1) && 
        (x4<=x2)) 
s = (x4-x3) * y1; 
    else if ((x3>=x1) && (x4>=x2))
s = (x2-x3)*y1;
    else if ((x3<=x1) && (x4>=x2))
s = (x2-x1)*y1;
    else if((x3<=x1) && (x4<=x2))
s = (x4-x1)*y1;
 
}
cout << "Прямоугольники пересекаются, площадь пересечения=,s:0:2)";
}
    
}
_getch();
return 0;
}
Yandex
Объявления
16.05.2011, 11:55     в чём ошибка?
Ответ Создать тему
Опции темы

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