Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Ihor3
3 / 3 / 1
Регистрация: 14.11.2012
Сообщений: 235
1

Генерация случайных чисел в заданном диапазоне

21.03.2013, 00:04. Просмотров 1069. Ответов 3
Метки нет (Все метки)

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
  #include <stdio.h>
 #include <conio.h>
 #include <stdlib.h>
 int main()
{
clrscr();
textcolor(RED);
unsigned long  iran;
unsigned long   rand_a, rand_c,rand_m;
unsigned long    jran,max;
int i,j,i1,j1;
unsigned long  a[6][6];
rand_m=233280;
rand_a=9301;
rand_c=49297;
for (i=0;i<6;i++){
  printf("\n");
   for(j=0;j<6;j++) {
 iran=(iran*rand_a+rand_c)%rand_m;
 jran=0+(65157*iran)%rand_m;
 a[i][j]=jran;
 printf("%7d",a[i][j], ",") ;
 if(a[i][j]>max){
 max=a[i][j],i1=i+1,j1=j+1;
 }
   }
     }
 printf("\n\n max=%d i=%d j=%d ", max, i1,j1 );
 getch();
 return 0;
 
}
почему-то генерирует числа не из диапазона 0..65157 и неверно выводит место максимального элемента ,заранее спасибо
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2013, 00:04
Ответы с готовыми решениями:

Генерация чисел в заданном диапазоне
Здравствуйте. Проблема вот в чем: нужно чтобы генерировал числа по заданному диапазону, диапазон...

Генератор случайных чисел в заданном диапазоне
Дали новое задание доработать свою программу, что-бы массив заполнялся случайными числами от 5 до...

Сформировать массив из заданного количества случайных целых чисел в заданном диапазоне
Доброго времени суток ув. форумчане. Не могу въехать как написать эту задачу: Задана...

Генерация случайных чисел в заданном диапазоне
Доброго времени суток!Просьба помочь с программкой, задание: Написать функцию, которая &quot;угадывает&quot;...

3
anmartex
...
1790 / 1258 / 931
Регистрация: 12.02.2013
Сообщений: 2,058
21.03.2013, 08:01 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Ihor3 Посмотреть сообщение
неверно выводит место максимального элемента
Не знаю, у меня всё верно выводит, хотя я некоторые ошибки указанные компилятором всё же исправил.
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
   unsigned long iran = 0;
   unsigned long rand_a, rand_c, rand_m;
   unsigned long jran, max = 0;
   int i, j, i1 = 0, j1 = 0;
   unsigned long  a[6][6];
   rand_m = 233280;
   rand_a = 9301;
   rand_c = 49297;
   for (i = 0; i < 6; i++)
   {
      for (j = 0; j < 6; j++)
      {
         iran = (iran * rand_a + rand_c) % rand_m;
         jran = (65157 * iran) % rand_m;
         a[i][j] = jran;
         printf("%7lu,", a[i][j]) ;
         if (a[i][j] > max)
         {
            max = a[i][j], i1 = i + 1, j1 = j + 1;
         }
      }
      printf("\n");
   }
   printf("max=%lu i=%d j=%d\n", max, i1, j1);
 
   system("pause");
 
   return 0;
}
Что же касается:
Цитата Сообщение от Ihor3 Посмотреть сообщение
почему-то генерирует числа не из диапазона 0..65157
Тут всё просто. Посмотрите внимательно как получается у вас результирующее значение. Это значение есть остаток от деления на rand_m. Данная переменная является у вас постоянной и её значение равно 233280. Соответственно диапазон у вас составляет 0..233279.
1
Ihor3
3 / 3 / 1
Регистрация: 14.11.2012
Сообщений: 235
21.03.2013, 16:50  [ТС] 3
Спасибо, а %lu эта спецыфикатор unsigned long?
0
ВАСИЛЕВС
559 / 482 / 168
Регистрация: 14.02.2012
Сообщений: 1,561
21.03.2013, 17:04 4
Цитата Сообщение от Ihor3 Посмотреть сообщение
%lu эта спецификатор unsigned long?
Да.
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2013, 17:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Генерация случайных чисел в заданном диапазоне.
Здесь сказано Почему?

Генерация случайных чисел на заданном диапазоне
Здравствуйте, прошу прощения, если такая тема уже проскакивала. Есть простой генератор чисел...

Генерация случайных чисел в заданном диапазоне
мне надо сделать так чтобы в qbasic генерировались цифры от 97 до 122 с помощью оператора RND

Генерация случайных чисел в заданном диапазоне
Требуется создать код на языке VB.NeT для создание рандомных чисел, с минимальным и максимальным...


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

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

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