Задать вопрос
AlbusDambldor
@AlbusDambldor

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

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

Но нихрена не получилось. При запуске программы постоянно выдает "20"
  • Вопрос задан
  • 283 просмотра
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Решения вопроса 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. А вы за границей массива проверяете с каким-то мусором.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы