Почему у меня генерируются только отрицательные числа? Почему у меня генерируются только отрицательные числа если должны от -10 до 10.#include #include #include #include #include #include using namespace std; int main() { setlocale(LC_ALL, "RUS"); srand(time(NULL)); const int n = 5, m = 7; double x[n], b[m]; int i, a = 0, g = 0, f = -10, t = 10; for (i = 0; i < n; i++) { x[i] = f + rand() % t; } for (i = 0; i < n; i++) { cout << x[i] << "\t"; } cout << "" << endl; for (i = 0; i < n; i++) { if (x[i] < 0) { for (a; a <= i; a++) { b[a] = x[i]; g++; } a = g; } cout << b[a-1] <

22 Ноя 2021 в 20:00
219 +1
0
Ответы
1

Проблема заключается в том, что вы неправильно используете цикл с индексами a и g. Внутри цикла вы присваиваете значение xiii массиву baaa, но затем увеличиваете a и g только в случае, если xiii < 0. Это приводит к тому, что только отрицательные числа копируются в массив b, а положительные числа игнорируются.

Чтобы исправить эту проблему, вам нужно изменить цикл с копированием элементов из x в b следующим образом:

for (i = 0; i < n; i++) {
if (x[i] < 0) {
baaa = xiii;
a++;
}
}
for (i = 0; i < a; i++) {
cout << biii << "\t";
}

Этот код скопирует только отрицательные числа из массива x в массив b и затем выведет их на экран.

После внесения этих изменений, код должен работать правильно и генерировать числа в заданном диапазоне от -10 до 10.

17 Апр 2024 в 08:31
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир