Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Дарья1997
2 / 2 / 0
Регистрация: 05.10.2014
Сообщений: 209
#1

Генерация неповторяющихся чисел в квадратной матрице - C++

17.04.2015, 04:12. Просмотров 295. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//ïîëå
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream> 
#include <conio.h>
#include <ctime>
int main()
{   char p[100];
    int i,fishka,l,f,j,RandNum[15][15],m,b;
    char *k;
    
initwindow(400,300); 
moveto(0,0);        
lineto(200,0);      
lineto(200,200);
lineto(0,200);
lineto(0,0);
moveto(50,0); 
lineto(50,200);
moveto(100,0); 
lineto(100,200);
moveto(150,0); 
lineto(150,200);
moveto(0,50); 
lineto(200,50);
moveto(0,100); 
lineto(200,100);
moveto(0,150); 
lineto(200,150);
srand( time( 0 ) ); 
l=10;
f=10;
for(i=0; i<4; i++)
{
        for(j=0; j<4; j++) 
        {
  RandNum[i][j] = rand()%16 + 1;
 // do{
      for(m=0;m<i;m++)
      {
      for(b=0;b<j;b++)
      {
       if(RandNum[i][j]==RandNum[m][b])
       RandNum[i][j] = rand()%16 + 1;
      }
      }
     // }while( RandNum[i][j]==RandNum[m][b]);
  itoa (RandNum[i][j],p, 10);
  settextstyle( 4,0,2);
  outtextxy( l,f,p);
  l+=50;
 
}
l=10;
f+=50;
 
}
getch();            
closegraph();        
return 0;
}
итак,необходимо заполнить данное поле числами от 1 до 16 ,случайным образом,но так,чтобы числа,которые были сгенерированы ранее не использовались.Условие вроде стоит проверки,но генерация все равно идет не так,в чем проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2015, 04:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Генерация неповторяющихся чисел в квадратной матрице (C++):

В квадратной матрице подсчитать суммы чисел, стоящих на диагоналях - C++
В квадратной таблице n × n подсчитать сумы чисел, стоящих на диагоналях. Входные данные Вводится число n (1 ≤ n ≤ 500), а затем...

Массив случайных неповторяющихся чисел - C++
Ребят работал всю ночь и сейчас голова не пашет! объясните в чем проблема private: System::Void button2_Click(System::Object^ sender,...

Генератор случайных неповторяющихся чисел - C++
Народ помогите! Проблема следующая. Я создал массив и заполнил его числами с помощью rand от -20 до 20. Как сделать так, чтобы при выводе...

Сгенерировать 54 пятизначных неповторяющихся чисел - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;conio.h&gt; using namespace std; int main(int argc, char*...

Генератор неповторяющихся семизначных чисел - C++
Всем здравствуйте! Очень нужна Ваша помощь. При написании программы столкнулась с проблемой в рандоме. Нужно, чтобы на экран выводились...

в квадратной матрице.... - C++
помогите плз кто разбираеться!!!!!!! 1)В данной действительной квадратной матрице порядка п найти наибольший по модулю элемент. Получить...

5
MansMI
1375 / 1154 / 340
Регистрация: 08.01.2012
Сообщений: 4,509
17.04.2015, 06:42 #2
заполнить массив значениями 1-16 потом rand()%16(длина массива)=позиция в массиве, "схлапывем" массив, и по новой, т.е. rand()%15 и т.д.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7801 / 4845 / 754
Регистрация: 29.11.2010
Сообщений: 13,212
17.04.2015, 12:19 #3
Заполнить последовательно, перемешать (например с помощью random_shuffle)
0
Kuzia domovenok
2130 / 1959 / 197
Регистрация: 25.03.2012
Сообщений: 6,834
Записей в блоге: 1
17.04.2015, 12:23 #4
MrGluck, да он под досом по ходу пишет! какой ещё random_shuffle?
0
MansMI
1375 / 1154 / 340
Регистрация: 08.01.2012
Сообщений: 4,509
17.04.2015, 12:27 #5
общий принцип:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
    int a[16],b[16],i,l;
    
    for(i=0; i<16; i++) a[i]=i+1;
    srand(time(0));
    //A->B
    for(l=16; l>0; l--)
    {
        i=rand()%l;
        b[16-l]=a[i];
        for(++i; i<l; i++) a[i-1]=a[i];
    }
    printf("B:");
    for(i=0; i<16; i++) printf("%d ",b[i]);
0
Байт
Эксперт C
17715 / 11736 / 1872
Регистрация: 24.12.2010
Сообщений: 23,538
17.04.2015, 14:02 #6
Генерация массива целых случайных чисел, которые не повторяются
0
17.04.2015, 14:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2015, 14:02
Привет! Вот еще темы с ответами:

компьютер генерирует число из 4 неповторяющихся чисел - C++
Подскажите как с помощью random сгенерировать число из 4 неповторяющихся чисел

Указатели в квадратной матрице - C++
Не понимаю, почему первую строчку выводит нормально, а остальные со странными значениями (45 строчка). Ткните кто-нибудь в ошибку. //...

Нахождение k в квадратной матрице - C++
Здравствуйте! Добрые люди, требуется ваша помощь! Итак, задали мне задачку которую решить я не могу, ну вообще не понимаю как... Но очень...

В квадратной матрице 5 на 5 поменять местами - C++
В квадратной матрице 5 на 5 поменять местами столбец, который имеет наибольшей элемент со столбцом, который имеет наименьший элемент среди...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru