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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2007, 19:36   #1
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию Генерировать массив без повтора значений элементов. На (С.)

Должен автоматически генерироваться массив из из 6 любых цифр, но так,чтобы они не повторялись.
Мож кто-нибудь может подсказать?
Спасибо!
Raptor вне форума Ответить с цитированием
Старый 16.12.2007, 20:58   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Код:
#include <iostream.h>
#include <conio.h>
#define N 6 //количество цифр в массиве

float u1=0.5421;
float u2=3.1415;

float MyRandom() //генератор случайных чисел
{ float u=u1+u2;
  if (u >= 4) u=u-4;
  u1=u2;   u2=u;
  return u/4;
}

main()
{ float a[N-1];
  for (int i=0; i<=(N-1); i++)
  { a[i]=MyRandom();
    cout << a[i] << ' ';
  }
  getch();
}
_Dmitry вне форума Ответить с цитированием
Старый 16.12.2007, 21:10   #3
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Спасибо, _Dmitry, но при запуске генерироваться будут одни и теже числа. А нужно цифры, а не числа, и разные каждый раз. Под цифрами имеетса ввиду 0,1,2,3,4,5,6,7,8,9
Код:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define  ELMAS 6
void main()
{
int i,n,m1[ELMAS],MYMAS[ELMAS];
clrscr();
randomize();
		for(i=0; i<ELMAS; i++)
		{MYMAS[i]=random(10);
printf("%5d",MYMAS[i]);
 }
	  getche();
}
Вот генерируетса случайным образом 6 цифр из 9.

Последний раз редактировалось Raptor; 16.12.2007 в 22:52.
Raptor вне форума Ответить с цитированием
Старый 16.12.2007, 21:36   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Тогда уж random(10) иначе девятки никогда не будет среди цифр.
_Dmitry вне форума Ответить с цитированием
Старый 16.12.2007, 21:40   #5
Raptor
Пользователь
 
Регистрация: 24.11.2007
Сообщений: 50
По умолчанию

Да, вы правы. Как то не заметил.
Но весь фокус в том, что они не должны повторятся, а вот именно это у меня и не выходит.

Последний раз редактировалось Raptor; 16.12.2007 в 23:11.
Raptor вне форума Ответить с цитированием
Старый 17.12.2007, 14:42   #6
Vedrus
ИСККОНный хакер
Форумчанин
 
Аватар для Vedrus
 
Регистрация: 08.11.2007
Сообщений: 195
По умолчанию

Копи сгенерированные цифры в массиве. А генерируй их в цикле, которые пробегает по этому массиву, и если встречается совпадение, то генерирует вновь.
#define QUESTION bb || !bb
Vedrus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив структур с заранее неизвестным количеством элементов, С++ PersonaGrata Общие вопросы C/C++ 8 24.02.2008 16:34
Как с помощью xml-файла с генерировать БД в отчет MS Word quit БД в Delphi 3 21.02.2008 16:23
Создать массив только из тех элементов, у которых остаток от деления на М равен L (0<=L<=M-1) Айвенго Microsoft Office Excel 2 12.01.2008 16:28
массив с заранее неизвестным числом элементов Var17 Общие вопросы Delphi 4 29.12.2007 08:20
Паскаль.Сформировать одномерный массив А из элементов матрицы, кратных трём ICEART Помощь студентам 2 03.10.2007 17:29