Вопрос задан 27.02.2019 в 12:07. Предмет Информатика. Спрашивает Дан Валерия.

Помогите пожалуйста решить задачу на с++, очень прошу! Дан массив a из n целых чисел. Требуется

определить, сколько раз меняется знак при следовании от начала массива к концу. Ноль считается положительным числом. Формат входных данных На первой строке входного файла записано натуральное число nn (n≤100)(n≤100) — число элементов в массиве. На следующей строке через пробел записаны целые числа aiai (|ai|≤1000)(|ai|≤1000) — элементы массива. Формат выходных данных Требуется вывести искомое число. Примеры входные данные 5 1 -1 -4 2 5 выходные данные 2
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Симбиркина Мария.
РЕШЕНИЕ НА ПРИКРЕПЕЛЕНОЙ КАРТИНКЕ
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

To solve the given problem in C++, you can follow these steps:

1. Read the input values: - Read the value of 'n' from the input, which represents the number of elements in the array. - Read the array elements 'a[i]' from the input.

2. Initialize a variable 'count' to 0, which will keep track of the number of sign changes.

3. Iterate through the array from index 1 to 'n-1': - Check if the sign of the current element 'a[i]' is different from the sign of the previous element 'a[i-1]'. - If the signs are different, increment the 'count' variable.

4. Print the value of 'count', which represents the number of sign changes in the array.

Here's the code that solves the problem:

```cpp #include using namespace std;

int main() { int n; cin >> n;

int a[n]; for (int i = 0; i < n; i++) { cin >> a[i]; }

int count = 0; for (int i = 1; i < n; i++) { if ((a[i] >= 0 && a[i-1] < 0) || (a[i] < 0 && a[i-1] >= 0)) { count++; } }

cout << count << endl;

return 0; } ```

For the given example input `5 1 -1 -4 2 5`, the output will be `2`.

Please let me know if you need any further assistance!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

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