помогите найти ошибку в программе на с++
задача и моя программа прикреплены. вроде всё правильно, но при вводе как в примере, у меня выходит "yes" вместо "no"
Приложения:
restIess:
в плюсах нельзя так массив объявлять
динамический именно
Ответы
Ответ дал:
1
В С++ насколько я помню, сначала нужно инициализировать переменную, а потом уже создавать динамический массив. То есть первые 2 строчки будут выглядеть:
int n, i;
cin >> n;
int* a = new int[n];
И также советую в одном цикле от 0 до n (как на скриншоте) проинициализировать массив числами, а уже после него, во втором цикле от 0 до n-1 (не включая n-1), проверять соседние числа.
можете показать как надо проинициализировать массив числами и как проверять соседние числа
#include
using namespace std;
int main()
{
int n;
cin >> n;
int* a = new int[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n - 1; i++) {
if (a[i] * a[i + 1] >= 0) {
cout << "YES";
return 0;
}
}
cout << "NO";
}
using namespace std;
int main()
{
int n;
cin >> n;
int* a = new int[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n - 1; i++) {
if (a[i] * a[i + 1] >= 0) {
cout << "YES";
return 0;
}
}
cout << "NO";
}
первая строка: #include
короче после include идёт iostream (как на скриншоте)
большое спасибо!!
Вас заинтересует
2 года назад
2 года назад
2 года назад
2 года назад
8 лет назад
8 лет назад
9 лет назад