Информатика, вопрос задал a245 , 2 года назад

помогите найти ошибку в программе на с++
задача и моя программа прикреплены. вроде всё правильно, но при вводе как в примере, у меня выходит "yes" вместо "no"

Приложения:

restIess: в плюсах нельзя так массив объявлять
restIess: динамический именно

Ответы на вопрос

Ответил nickolay34
1

В С++ насколько я помню, сначала нужно инициализировать переменную, а потом уже создавать динамический массив. То есть первые 2 строчки будут выглядеть:

int n, i;

cin >> n;

int* a = new int[n];  

И также советую в одном цикле от 0 до n (как на скриншоте) проинициализировать массив числами, а уже после него, во втором цикле от 0 до n-1 (не включая n-1), проверять соседние числа.


a245: можете показать как надо проинициализировать массив числами и как проверять соседние числа
nickolay34: #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";
}
nickolay34: первая строка: #include
nickolay34: короче после include идёт iostream (как на скриншоте)
a245: большое спасибо!!
Новые вопросы