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

Не могу разобраться... ( генератор случайных чисел) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переписать текст на страницу с числом символов в строке M http://www.cyberforum.ru/cpp-beginners/thread8168.html
дана задача 1.Исходный текст записан на странице с числом символов в строке L. Переписать его на страницу с числом символов в строке M.Слова не разрывать. Считать, что текст помещается на...
C++ Помогите оптимизировать код Помогите пожалуйста разобраться, хотелось бы чтобы это прграммка наконец-то заработала. Задача такая: Одномерный массив целых чисел, размер которго задается с клавиатуры. Запрограммировать... http://www.cyberforum.ru/cpp-beginners/thread8166.html
Cоздание таблицы ключевых слов и поиск в ней C++
Не могли кто-нибудь написать программку:Cоздать таблицу ключевых слов , проходить по строке и создает в выходном массиве ссылки на позицию. Номер в таблице ключевых слов. У меня даже есть код но там...
Реализовать булевую функцию C++
как реализовать булевую функцию, то есть, функцию, которая возвращает true or false? например, есть функция определение взаимопорядка следования чисел a и b (выясняет, кто из них больше) и если...
C++ Символы и строки. http://www.cyberforum.ru/cpp-beginners/thread8124.html
Помогите пожалуйста с решением задачи. Вводится последовательность символов. Формировать новую строку, состоящую из символов исходной строки, в которой вначале идут символы с нечетными значениями...
C++ Перегрузка операторов и полиморфизм Есть массив указателей Data* в каждой ячейке которого указатель на string,int или float Никак не получается перегрузить оператор + так чтобы string+string оставался string int+float оставался float... подробнее

Показать сообщение отдельно
VadiK FoX
0 / 0 / 0
Регистрация: 13.05.2008
Сообщений: 7
01.06.2008, 11:55  [ТС]
MsDos , Spo1ler , реализуя генератор в программу. вот что у меня получилось... только вот мне осталось придать случайность первой пересенной...
и поставить вопрос в каком варианте пользователь хочет проити задание...
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//********************************************************
// Программа для проверки знаний 
// таблици умножения
// Составил Я 11.05.2008
// последняя доработка 00.00.0000
//********************************************************
#include <cstdio>
#include <iostream>
using namespace std;
int z;
void proverka ( char& xc )
{
// бесконечный цикл который прерывается выходом из функции 
// при правильном выборе ответа
for( ; ; )
{
if ( ( xc == '1') || ( xc == '2' ) || ( xc == '3' ) )
{ return; }
else
{
cout << "\n !!!ERROR!!! \n" 
<< "vvedite pravilnii otvet na vopros: ";
cin >> xc;
}
}
}
int fun(int a[], int k)
{ 
for (int m =0;m<8;++m)
{ 
if (a[m]==k)
{return 0;}
}
 
a[z]=k;
++z;
return z; 
}
void funkcia(int ar[])
{
for (int f = 0; f<8; )
{ 
f=(rand()>>1)%8+2;
f = fun(ar,f);
}
z=0;
}
int main ()
{
int array[8];
int ot = 0, d = 0, nd = 0;
char dr = '0';
double p = 0;
 
srand(time(NULL));
cout << " programma testiryet znanie tabl. ymnoj.\n"
<<"---------------------------------------------\n"
<<"K kakoi kategorii vi sebia otnosite?\n"
<<"\n1. Slabak\n2. Sredne\n3. Professional\n"
<<"(viberete variant otveta cifroi): ";
cin >> dr;
proverka(dr);
cout<<"---------------------------------------------"
<<"\nkontrol proiden,\npristypim k zadaniy"
<<endl;
for (int x = 2;x < 10; ++x)
{ cout<<"---------------------------------------------\n";
for (int qw = 0;qw < 8;++qw)
{array[qw]=0;}
funkcia(array); 
 
for (int y=0;y<8;++y)
{
cout << "\n" << x << " x " << array[y] << "= ";
cin >> ot; 
if (x*array[y] == ot )
{++d; cout << ot <<" <=> "<<x*array[y]<<" +" <<endl;}
else
{++nd; cout << ot <<" <-> "<<x*array[y]<<" -" <<endl;}
 
}
}
p = 100*d/64;
cout <<
"\n---------------------------------------------"
<< "\n prav. otveti " << d << "WT\nne prav. otveti " 
<< nd << "WT"
<< "\nchto est " << p <<"%" 
<<"\nocenka: ";
switch(dr)
{
case '3':
if ( p == 100 )
{cout<<"5";}
else if ( 98.4375 == p )
{cout<<"4";}
else if ( 98.4375 > p )
{cout<<"2";}
break;
case '2':
if ( p <= 62.5 )
{cout<<"2";}
else if ( p <= 75 )
{cout<<"3";}
else if ( p <= 93.75 )
{cout<<"4";}
else if ( p > 93.75 )
{cout<<"5";}
break;
 
case '1':
if ( p <= 25 ) 
{cout<<"2";}
else if ( p <= 50 )
{cout<<"3";}
else if ( p <= 90 )
{cout<<"4";}
else if ( p <= 100 )
{cout<<"5";}
else if( p > 100 )
{cout<<"ne realno";}
break;
default:
cout << "fuck off"; break;
}
cout <<
"\n---------------------------------------------"
<< "\nprogramma Zavershena \n";
 
system ("PAUSE");
return 0; 
}
Добавлено через 8 минут
Вот код самого момента заполнения (откомпилируйте его и пронаблюдайте) что все массивы запонены по разному и без повторений...
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
//генератор заполняющий массив случайными числами
#include <cstdio>
#include <iostream>
using namespace std;
int z = 0;
int fun(int a[], int k)
{ //циклом for пароверяем нет ли совпадений в массиве
for (int m =0;m<8;++m)
{ //совпадение в условии if
//приведет к выходу из функции и заставит
//ызывающий цикл for повторить генерацию
if (a[m]==k)
{return 0;}
}
//совпадений нет, заполняем элемент массива
//сгенерированным числом, и поднимаем число 
//счетчика для вызывающего чикла for 
a[z]=k;
z++;
return z; 
}
int main()
{
//задаем параметр случайности
srand(time(NULL));
int ar[8];
for (int w=0; w<10; ++w)
{
//обнуляем глобальную переменную счетчика.
z=0;
cout<<"-------------------------------------------\n";
//инициализация массива нулевым значением
for (int r=0;r<10; ++r)
{ar[r]=0;}
//цикл иничиализации случайностью, которому условие прирывания 
//определяет функция int fun()
for (int f = 0; f !=8; )
{ 
f=(rand()>>1)%8+2;
f = fun(ar,f);
}
//обнуляем глобальную переменную счетчика.
//выводим содержимое масива на экран
for (int a=0;a!=8;a++)
{ cout << ar[a]<<" "; }
cout<<endl;
}
system("PAUSE");
return 0; 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru