Помогите с C++ ,Сделал программу, но не могу найти ошибку - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Помогите с C++ ,Сделал программу, но не могу найти ошибку

Регистрация
21 Дек 2013
Сообщения
70
Репутация
0
Спасибо
0
Монет
0
В ЧЕМ У МЕНЯ ОШИБКА??? Нужно было создать программу: " Сгенерировать 3 числа в массиве с помощью rand, в диапазоне от 0 до 2-ух включительно, чтобы цифры не повторялись".
Вот моя программа. Где ошибка?

#include
#include
using namespace std;

void main()
{
setlocale(LC_ALL, "Russian");
srand(time(NULL));
int mas[3];
for (int i = 0; i < 3; i++)
{
mas = rand() % 3;
for (int j = 0; j < 3; )
{
if (i == j)
{
j++;
continue;

}
else if (mas == mas[j])
{
mas = rand() % 3;
continue;
}
else
{
j++;
}
}
}
for (int i = 0; i < 3; i++)
{
cout << mas << endl;
}
cout << endl;
system("pause");
}
 
Регистрация
24 Сен 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Нахомутано чего то... #include <iostream> #include <time.h> using namespace std; int main() { setlocale(LC_ALL, "Russian"); srand(time(0)); int arr[3]; for(int i = 0; i < 3; i++) { arr = rand() % 3; } while(arr[1] == arr[0]) arr[1] = rand() % 3; while(arr[2] == arr[0] || arr[2] == arr[1]) arr[2] = rand() %3; for(int i = 0; i < 3; i++) cout << arr << " "; system("pause"); return 0; }
 
Регистрация
8 Окт 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
mas[0] = rand() % 3; mas[1] = (mas[0]+1) % 3; mas[2] = (mas[1]+1) % 3; Сгенерировал, rand помог, не повторяются, от 0 до 2. Задание выполнено.
 
Регистрация
2 Апр 2013
Сообщения
77
Репутация
-3
Спасибо
0
Монет
0
Коль пошла такая пьянка, вот ещё версия. Безо всяких глупых циклов :) #include <iostream> #include <cstdlib> #include <ctime> int main() { const int X[6][3] = {{0,1,2},{0,2,1},{1,0,2},{1,2,0},{2,0,1},{2,1,0}}; srand(time(0)); const int (&x)[3] = X[rand()%6]; std::cout << x[0] << " " << x[1] << " " << x[2] << std::endl; return 0; }
 
Сверху Снизу