5 / 5 / 3
Регистрация: 25.07.2016
Сообщений: 182
1

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

13.12.2017, 21:48. Показов 1087. Ответов 23
Метки нет (Все метки)

Вот код :
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cmath>
using namespace std;
int main(){
int n, q, j, x, r, z, w , s, i = 0;
int y[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
printf("Vvedite n = ");
scanf("%i", &n);
while(r <= n) {
j = 0; r = 0;      
srand(time(NULL)); 
s = floor(rand()/rand());
if((s > 0) && (s <= n)) {
 for(x = 0; x < 10; x++) {if(s != y[x]) {++j;}}}  
  if(j == 10) {y[i] = s; ++i;}
 for(z = 0; z < 10; z++) {if(y[z] != 0) {++r;}} 
   }
 for(w = 0; w < r; w++) {printf("%i", y[w]);}
 getchar();
}
По идеи он должен создавать массив чисел от 1 до n (не > 10), без нулей, без повторов, без исключений,
вобщем смотри ветку CLIPS...
Пока меня интересует, происходит ли сравнивание r с n ...
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2017, 21:48
Ответы с готовыми решениями:

Генератор случайных чисел выдаёт некорректный результат
Необходимо, заполнить массив случайными числами из предела , но вместо этого результат выполнения...

Программа с генератором случайных чисел не всегда выдает корректный результат
Небольшой &quot;шедевр&quot;. Вроде бы синтаксис верный, а вот работает периодически с ошибками. Как вы...

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

Генерация массива случайных чисел
помогите пожалуйста ! нужно написать функцию которая будет генирировать числа от 1 до 60 и...

23
44 / 20 / 14
Регистрация: 23.10.2018
Сообщений: 103
03.11.2018, 18:50 21
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
#include <iostream>
#include <vector>
 
using namespace std;
 
int main() {
    int n;
    cout << "n? ";
    cin >> n;
    
    std::vector<int> _numbers;
    for (int i = 0; i < n; i++) {
        _numbers.push_back(i);
    }
    for (int i = 0; i < n; i++) {
        swap(_numbers[i], _numbers[rand() % n]);
    }
    
    for (auto v : _numbers) {
        cout << v << " ";
    }
    cout << "\n";
    
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
5 / 5 / 3
Регистрация: 25.07.2016
Сообщений: 182
03.11.2018, 21:11  [ТС] 22
Я сильно извиняюсь ...
C++
1
2
3
4
5
....................................
printf("%s", "    Spisok =");
spisok(n);
printf("\n");
....................................
0
5 / 5 / 3
Регистрация: 25.07.2016
Сообщений: 182
15.11.2018, 18:15  [ТС] 23
Ну, где то так:
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
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <list>
#include <cmath>
 
using namespace std;
void spisok(int n) {
    
    list<int> Spisok; Spisok.push_back(0);
     while(Spisok.size() <= n) {
         int J = 0, T = round(rand() % (n+1));
          if(T != 0) {
           list<int>::iterator p = Spisok.begin();
            while(p != Spisok.end()) {
                if(*p != T) {++J;}
                 p++;
         }
      } 
                 if(J == Spisok.size()) {Spisok.push_back(T); printf(" %d", T);}
   }
}
int main() {
int n;
srand(time(NULL));
while(1) {
printf(" Vvedite n = ");
scanf("%i", &n);
printf("%s", "    Spisok =");
spisok(n);
printf("\n");
   }
}
0
5 / 5 / 3
Регистрация: 25.07.2016
Сообщений: 182
10.03.2019, 00:45  [ТС] 24
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
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <list>
#include <cmath>
 
using namespace std;
void spisok(int n) {
  list<int> Spisok; Spisok.push_back(0);
   while(Spisok.size() <= n) {
       label: int J = 0, T = round(rand()%(n+1));          
        list<int>::iterator p = Spisok.begin();
         while(p != Spisok.end()) {
             if(*p != T) {++J;} else goto label;
              p++;
         }
         if(J == Spisok.size()) {Spisok.push_back(T); printf(" %d", T);}
   }
}
int main() {
int n;
srand(time(NULL));
while(1) {
printf(" Vvedite n = ");
scanf("%i", &n);
printf("%s", "    Spisok =");
spisok(n);
printf("\n");
   }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2019, 00:45
Помогаю со студенческими работами здесь

Генерация массива случайных неповторяющихся чисел
Нужно сгенирировать массив случайных чисел. Предположим что массив размером 10000, а диапазон...

Генерация массива случайных чисел равномерно распределенных в заданном интервале и упорядочение массива
Помогите создать ПО (на любом языке программирования) позволяющее, генерирующее массив заданной...

Генерация значений массива с помощью датчика случайных чисел
Задание: Разработать программу для обработки массива, обеспечив выполнение следующих операций: 1...

Генерация массива целых случайных чисел, которые не повторяются
Нужно получить числа от 0 до 15 в рандомном порядке, делаю так: BOOL...

Генерация массива целых случайных чисел, которые не повторяются
Случайные числа. Генерация случайного целого числа в заданном диапазоне. Генерация массива целых...

Выдает неправильный результат С++
Задание Найти среднее арифметическое действительных корней трёх квадратных уравнений. #include...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru