С++: почему при заполнении массива при использовании unsigned выводятся отрицательные?
srand((unsigned)time(NULL));
for (i=0;i
cout << mas <<" ";}
мэйл съедает половину символов. но суть понятна.
srand((unsigned)time(NULL));
for (i=0;i
cout << mas <<" ";}
мэйл съедает половину символов. но суть понятна.
srand(unsigned(time(0)));
const size_t size = 20;
unsigned a[size];
for (size_t n = 0; n < size; n++) a[n] = 1 + rand() % 100; // заполнит целыми числами от 1 до 100
Так сами задали диапазон от -50 до 49 и теперь жалуетесь на появление отрицательных чисел. Кроме того, Вы не показали как объявлен массив mas
Минуса из-за этого. rand()0-50
генерация от 0 до -49 идет,
если надо от 0 до 50, то просто rand()знак_процента51
Суть НЕпонятна
Использование unsigned при вызове srand не имеет никакого отношения к заполнению массива.
P.S. IRQ, cout знает
#include
int main(){unsigned int a=4000000000; std::cout<< a;}
Выкинь тут квалификатор unsigned, и увидишь черт-те что
Вряд-ли cout что-то знает про unsigned