Форум программистов, компьютерный форум CyberForum.ru

Неправильный рандом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс Sentence и сортировка строки по алфавиту http://www.cyberforum.ru/cpp-beginners/thread897776.html
#include <stdio.h> #include <conio.h> #include <string.h> #include <iostream.h> class Sentence { public: char *str; Sentence(char *p); char* sort();
C++ Рекурсия. Составьте программу, которая для заданных значений n и m, определит номер оставшегося в кругу человека Пусть n человек встали в круг и получили номера от 1 до n по часовой стрелке. Затем, начиная с первого, по часовой стрелке отсчитывается m человек. Этот m–й человек выходит из круга, после чего, начиная со следующего, снова отсчитывается m–й человек. Так продолжается до тех пор, пока не останется один человек. Составьте программу, которая для заданных значений n и m, определит номер оставшегося... http://www.cyberforum.ru/cpp-beginners/thread897740.html
Turbo C++ C++
где можно скачать турбо си?
Как вызвать в main данные функции? C++
Вот весь код,приму любые замечания,так как я еще учусь) Ткните меня в мои же ошибки) using namespace std; template <class T>//Создаем дерево class Tree { struct Node { T item; Node *son;//создаем сыновей Node *brother;//создаем элементы ,которые располагаеются на том же уровне данного дерева
C++ Конвертер линейных уравнений http://www.cyberforum.ru/cpp-beginners/thread897722.html
Мне нужно сконвертировать линейное уравнение так, что бы получилось уравнения для процессора Привер: (2+3)*5 -> 2 3 + 5 * Вопрос только в том, как называется данная конвертация?
C++ Массив: номер минимального и максимального по модулю элемента массива В одномерном массиве состоящем из n вещественных элементов вычислить:1) номер минимального и максимального по модулю ялемента массива 2) сумму элементов массива, расположенных после первого положительного элемента . Сжать массив,удалив из него ,меньших некоторого заданного числа a. подробнее

Показать сообщение отдельно
Гром
 Аватар для Гром
199 / 118 / 10
Регистрация: 20.03.2009
Сообщений: 1,075
Записей в блоге: 15
10.06.2013, 20:26     Неправильный рандом
Рандом ни при чем. Просто у вас проверяется, нет ли совпадения с одним из предыдущих элементов, если нет - записывается сгенерированное значение, а если есть - повторной генерации не происходит, вы переходите к следующему элементу. То есть в этом случае вы просто не присвоили элементу массива никакого значения, и там оказался мусор.
Оберните код проверки и генерации в цикл while:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i = 0; i < 20; ++i)
 {
 bool Ok = false;
 while (! flag)
  {
  Ok = true;
  b = rand() % 50;
  for (j = 0; j < i; ++j)
   if (a[j] == b)
    Ok = false;
  }
 a[i] = b;
 }
 
Текущее время: 12:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru