Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2011, 18:31   #1
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
Злость Рандом выдает одинаковые значения.

Здравствуйте, подскажите пожалуйста какого черта этот код в массив генерирует одинаковые значения. Спасибо.

Код:
#include "stdafx.h"
#include<stdio.h>
#include <conio.h>
#include <iostream>
#include<locale.h>
#include <stdlib.h>
#include <time.h>
using namespace std;

int main()
{
	setlocale(LC_ALL,"Rus");
	int size,temp,x,y;

	printf("Введите размер массива: ");
	scanf("%i", &size);
	int *masiv = new int[size];
	
	printf("Заполнение случайными числами: \n");
	
	for(int i=0;i<size;i++)
	{
	srand( (unsigned)time( NULL ) );
		*(masiv+i)=rand();
		printf("%i ",*(masiv+i));
	}
}
WizarD.89 вне форума Ответить с цитированием
Старый 22.12.2011, 18:33   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

попробуй вот так:

Код:
int main()
{
        srand( (unsigned)time( NULL ) ); //инит только 1 раз
	setlocale(LC_ALL,"Rus");
	int size,temp,x,y;

	printf("Введите размер массива: ");
	scanf("%i", &size);
	int *masiv = new int[size];    //Освободить память нигде не забыл?
	
	printf("Заполнение случайными числами: \n");
	
	for(int i=0;i<size;i++)
	{
		*(masiv+i)=rand();
		printf("%i ",*(masiv+i));
	}
}
_Bers вне форума Ответить с цитированием
Старый 22.12.2011, 18:42   #3
WizarD.89
Форумчанин
 
Аватар для WizarD.89
 
Регистрация: 02.12.2010
Сообщений: 160
По умолчанию

спасибо про память не понял.
WizarD.89 вне форума Ответить с цитированием
Старый 22.12.2011, 18:44   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от WizarD.89 Посмотреть сообщение
спасибо про память не понял.
1. Что делает srand( (unsigned)time( NULL ) );
И зачем она нужна?


2. Гуглим "работа с динамической памятью с++"
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одинаковые значения в enumeration D-mon Общие вопросы Delphi 3 25.07.2011 15:25
При вычислении максимального значения выдает О kerill385884 Помощь студентам 3 25.03.2010 18:52
Выполнение нескольких рандомов дает одинаковые значения byte916 Помощь студентам 5 18.01.2010 11:26
Считать одинаковые значения Волк Microsoft Office Excel 10 26.03.2009 11:18
Убрать одинаковые значения D-mon БД в Delphi 1 23.08.2007 10:55