простая задачка на C++

программирование C++

Нужно автоматически сгенерировать 4 цифры которые не повторяются.

У меня есть вариант кода, но насколько я понял, то do while работает не корректно.

double a=0, b=0, c=0, d=0;
srand(unsigned(time(NULL)));
a = rand() % 9;
do{
b = rand() % 9;
} while (b == a);
do{
c = rand() % 9;
} while (c == a, c == b);
do{
d = rand() % 9;
} while (d == a, d == b, d == c);

Примечание:
мне нужно именно присваевание цыфер значениям

Примечание:
Не работает если добавить &&
Ответы:
С++ нифига не знаю, но можно как-то так, например (проверил, работает):
>насколько я понял, то do while работает не корректно
Ты неправильно понял.
В данном случае крайне некорректно применена запятая. Там должно стаять логическое "И" (&&)
На Примечание №1:
И? В чем проблема? Что мешает сделать хотя бы так:
...  
 int result[4];
...
... // for loop
...
   result[i] = digits[pos];
...
... // end of for loop
...
a = result[0], b = result[1], c = result[2], d = result[3];
Самый простой способ - это заранее заготовить массив из чисел от 0 до 9, а потом эти числа "случайным образом" перемешать.
Примечание №2
Как именно не работает?
Зацикливается или выводит одинаковые значения?
#include <iostream.h>
#include <time.h>


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.