AlbusDambldor
@AlbusDambldor

Написать функцию, которая возвращает индекс крайнего правого отрицательного числа. Как должен выглядеть программный код для решения этой задачи?

я думал как-то так:
void Function5(double ar[], int size) {
	for (int i = size; i > 0; --i) {
		if (ar[i] < 0) {
			cout << i << " ";
			return;
		}
	}
}

Но нихрена не получилось. При запуске программы постоянно выдает "20"
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
JaxxDexx
@JaxxDexx
void Function5(double ar[], int size) {
  for (int i = size-1; i >= 0; --i) {
    if (ar[i] < 0) {
      cout << i << " ";
      return;
    }
  }
}


Потому что в C++ индексация массива начинается с 0, а индекс последнего элемента это size - 1. А вы за границей массива проверяете с каким-то мусором.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы