Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2021, 13:05   #1
hellknife
Новичок
Джуниор
 
Регистрация: 03.11.2021
Сообщений: 3
По умолчанию проблемы с операцией или (c++)

проблема пояыилась в 15 строчке с конца в условии для if, компилятор говорит, что в условии есть синтаксическая ошибка: ||. Не знаю, как исправить ошибку, если закоментировать оператор if, то все работет нормально номер ошибки:с2059.

помогите, пожалуйста.

Код:
#include<iostream>
#include<locale>
#include<cmath>
using namespace std;
int main()
{
	setlocale(LC_ALL, ("rus"));
	double t, a, vx, vy, v = 0, s = 0, h = 0, P = 3.1415926;
	double y[1800];
	int b;
	bool pr = false;
	cout << "\n\nвведите, на какой высоте от вас находится цель: ";
	cin >> h;
	h = (int)h;
	while (s <= 0) {
		cout << "\n\nвведите, на каком расстоянии от вас находится цель: ";
		cin >> s;
	}
	while (v <= 0) {
		cout << "\n\nвведите, скорость полета снаряда: ";
		cin >> v;
	}
	//вычисления
	for (b = -899; b < 900; b++)
	{
		a = b / 10;
		double r = a * P / 180;
		//вычисление максимальной высоты
		if (b >= 0) {
			vy = sin(r) * v;
			y[b + 899] = (vy * vy / (2 * 9.81));
		}
		if (b < 0) {
			vy = sin(r) * (-v);
			y[b + 899] = (vy * vy / (2 * 9.81) * -1);
		}
		//вычисление максимальной высоты
			//вычисление всех y
		vx = cos(r) * v;
		t = s / vx;
		if (b < 0) {
			y[b + 899] = -vy - (9.81 * t * t / 2);
		}
		if (b >= 0) {
			y[b + 899] = vy - (9.81 * t * t / 2);
		}
		//вычисление всех y
		if (y[b + 899] <= h && y[b + 900] >= h) || (y[b + 900] <= h && y[b + 899] >= h) {
			break;
			cout << a ;
		}
	}
	//вычисления
	//if (true) {
	//	cout << "\nчтобы попасть в цель, угол пуска снаряда должен быть равен: " << a << "\n" << endl;
	//	cout << "\nвремя аолета снаряда равно: " << t << " секунд.\n\n" << endl;
	//}
	//else {
	//	cout << "\nвы никогда не попадете\n\n" << endl;
	//}
}

Последний раз редактировалось BDA; 03.11.2021 в 13:23.
hellknife вне форума Ответить с цитированием
Старый 03.11.2021, 13:24   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

иф - это
Код:
if (условие)
а у вас
Код:
if условие
ForenLi вне форума Ответить с цитированием
Старый 03.11.2021, 13:25   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

А если так?
Код:
if ( (y[b + 899] <= h && y[b + 900] >= h) || (y[b + 900] <= h && y[b + 899] >= h) ) {
ForenLi Это у него по-Паскалевски
digitalis вне форума Ответить с цитированием
Старый 03.11.2021, 13:40   #4
hellknife
Новичок
Джуниор
 
Регистрация: 03.11.2021
Сообщений: 3
По умолчанию

digitalis, спасибо, помогло

ForenLi, ок, понял
hellknife вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться с xor операцией shwwartw Общие вопросы C/C++ 8 03.04.2018 17:38
проблемы с по или головоломка Chertavshina Windows 3 04.12.2012 22:22
Вопрос с операцией mod qpuTuJlb Общие вопросы Delphi 9 17.07.2012 09:42
Какой операцией заменить AND? BackSlash Помощь студентам 5 18.02.2011 15:53
Помогите разобраться с операцией ->(стрелка) RokDemon Общие вопросы C/C++ 2 03.05.2009 17:06