Как сделать так, что-бы массиве были не только положительные числа, но и отрицательные?
Как сделать так, что-бы массиве были не только положительные числа, но и отрицательные? В том фрагменте кода числа генерируються только от 0 до 100.
for(i=0; i<n; i++)
a[i] = rand() % 100;
Как найти самый большой среди отрицательных и наименьший среди положительных элементов сгенерированого массива.
У меня есть код, но он только находить элементы тогда, когда массив заполняеться вручную.
int nvalues()
{
bool min = false;
bool max = false;
for (int i = 0; i < n; ++i)
{
if (a[i] < 0)
if (a[i] > max)
{
max = a[i];
max = true;
}
if (a[i] > 0)
if (a[i] < min)
{
min = a[i];
min = true;
}
}
if (min)
cout << "\nMin = " << min;
else
cout << "\nNo positive elements";
if (max)
cout << "\nMax = " << max;
else
cout << "\nNo negative elements!";
}
Ответы (1 шт):
Хотите отрицательные числа? сделайте их
for(i=0; i<n; i++)
a[i] = (rand() % 100) - 50;
и теперь уже будет не в диапазоне [0,100), а в [-50,50).
По поводу поиска. вот такая конструкция
max = a[i];
max = true;
просто присвоит 1 в max. Вам нужны две отдельные переменные для двух разных случаев. Если флажок false, то в основную переменную записывайте найденную переменную. Если нет - сравнивайте и забирайте больше/меньше.