Serguei Vdovine
Serguei Vdovine

С++: почему при заполнении массива при использовании unsigned выводятся отрицательные?

srand((unsigned)time(NULL));
for (i=0;i = rand()0-50;
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

Похожие вопросы
Представление массивов в памяти и их заполнение
Заполнение массива на паскале из текстового файла
В PascalABC составить программу заполнения массива
Delphi 7 - Вывод массива.
Написание программы с использованием массива
Найти среднее арифметическое отрицательных элементов этого массива
Задача по программированию с использованием двухмерных массивов
Помогите с вводом и выводом массива!
Нужен алгоритм, который выводит кол-во положительных и кол-во отрицательных чисел в массиве
помогите написать программу в си с использованием массивов