У меня есть код. Вычисление среднего значения вектора (отрицательные элементы). Пользователю нужно определить, как нужно заполнять вектор. Если с клавиатуры - 2, если ГПСЧ - 1. Иначе - сообщение об ошибке. На практике код не работает.
При вводе 1 генерируются рандомные цифры, потом нужно ввести 10 чисел вручную. В итоге - ничего. Он так и не посчитал среднее значение элементов (будто, не дошел туда).
При вводе 2 - аналогично.
В чем может быть проблема?
#include <iostream>
#include <cstdlib> // содержит srand() и rand()
#include <string.h>
using namespace std;
int main() {
setlocale(0, "");
int n = 10;
int Array[n];
double summ = 0;
int kol = 0;
double result = 0;
int answer;
cout << "Как хотите заполнять массив? Если ГПСЧ - 1, если с клавы - 2 > ";
cin >> answer;
if (answer = 1) {
for (int i = 0; i < n; i++) {
Array[i] = rand() % 21 - 10; // (b - a + 1) + a -> [a; b]
cout << "Элемент №" << i + 1 << ": " << Array[i] << endl;
}
}
if (answer = 2) {
for (int i = 0; i < n; i++) {
cout << "Введите " << i + 1 << " элемент > " << endl;
cin >> Array[i];
}
}
else {
cout << "Ошибка. Ввести можно или 1 или 2! " << endl;
}
for (int i = 0; i < n; i++) {
if (Array[i] < 0) {
kol++;
summ += Array[i];
}
}
cout << "" << endl;
if (kol > 0) {
int kol2 = 1;
cout << "Отрицательные элементы: ";
for (int i = 0; i < n; i++) {
if (Array[i] < 0) {
if (kol2 == kol) {
cout << Array[i] << "." << endl;
}
if (Array[i] < 0 && kol2 != kol) {
cout << Array[i] << ", ";
kol2++;
}
}
}
cout << "Количество отрицательных элементов: " << kol << "." << endl;
}
if (kol = 0) {
cout << "Отрицательных элементов нет." << endl;
}
cout << "" << endl;
if (kol > 0) {
result = summ/kol;
cout << "Среднее арифметическое отрицательных элементов: " << result << endl;
}
}
if (answer == 1) {
...
}
if (answer == 2) {
...
Попробуйте писать такие выражения вот так:
if (1 == answer) {
...
}
if (2 == answer) {
...
чтобы избегать подобных ошибок.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я делаю игру, и мне нужно, чтобы один игровой объект не накладывался на другойЕсть ли функция в SDL, позволяющая определить пересечение поверхностей...
QtCreator поддерживает разработку диаграмм конечных автоматов и UML-диаграммНо я никак не могу найти информацию, можно ли эти диаграммы использовать...
подскажите хороший инсталятор с открытым кодом на C\C++ буду очень благодарен!