Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Хэш / 8 сообщений из 8, страница 1 из 1
22.04.2007, 20:21
    #34478878
errorka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш
Подскажи,пожалуйста, для чего используется здесь строка
char b[] = {'R', 'T', 'Z', 'G', 'J', 'K'};


Код: plaintext
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.
           int hash;
	int a;
	char b[] = {'R', 'T', 'Z', 'G', 'J', 'K'};

	for (i=0; i<kolvostudents-1; i++)
	{
		for (j=0; j<9; j++)
		{
			simb=students .name[j];
			
			hash=simb%16;
			switch (hash)
			{
			case 15:
			students.name[j]='F';
			break;

			case 14:
			students.name[j]='E';
			break;

			case 13:
			students.name[j]='D';
			break;

			case 12:
			students.name[j]='C';
			break;

			case 11:
			students.name[j]='B';
			break;

			case 10:
			students.name[j]='A';
			break;

			case 9:
			students.name[j]='9';
			break;

			case 8:
			students.name[j]='8';
			break;

			case 7:
			students.name[j]='7';
			break;

			case 6:
			students.name[j]='6';
			break;

			case 5:
			students.name[j]='5';
			break;

			case 4:
			students.name[j]='4';
			break;

			case 3:
			students.name[j]='3';
			break;

			case 2:
			students.name[j]='2';
			break;
			
			case 1:
			students.name[j]='1';
			break;

			case 0:
			students.name[j]='J';
			break;

			default:
			break;
			}
			
			a=rand()%6;
			if (simb<0) { students.name[j]=b[a]; }
		} 
...
Рейтинг: 0 / 0
22.04.2007, 20:36
    #34478899
FasterHarder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш
Код: plaintext
I started in 1983, in 2007 i still on a case!
по моему использование массива символов
Код: plaintext
char b[] = {'R', 'T', 'Z', 'G', 'J', 'K'};
идет только в :
Код: plaintext
1.
2.
3.
4.
a=rand()% 6 ;
if (simb< 0 ) 
{ 
students.name[j]=b[a]; 
}

а переменная simb инициализируется в

Код: plaintext
simb=students.name[j];
причем должна иметь тип int/double или приводимый
Если в результате присваивания simb < 0, то
students.name[j] присваивается один из символов, описанных в b[].
Строка
Код: plaintext
a=rand()% 6 ;
присваивает случайным образом переменной а, значение в диапазоне от 0 до 5. Допустим если
а = 3, то students.name[j]= 'G'.
Может здесь другое задумано, я вижу это так, возможно у других будет другое мнение.
...
Рейтинг: 0 / 0
22.04.2007, 20:57
    #34478923
errorka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш
Хм... примерно понятно,но зачем это вообще надо не понимаю...
...
Рейтинг: 0 / 0
22.04.2007, 21:26
    #34478951
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш
errorkaХм... примерно понятно,но зачем это вообще надо не понимаю...
Ну во первых опять ошибки i из внешнего цикла нигде не используктся. А так прикольно
если символ < 128 символ заменяется на значение на его нижний полубайт, если нижний полубайт == 0 то J
если символ >= 128 символ случайным образом заменяется на символ из последовательности
{'R', 'T', 'Z', 'G', 'J', 'K'}
весь маразм со свитчем можно написать в 5 строк:
Код: plaintext
1.
2.
3.
4.
5.
char* buf="J123456789ABCDEF";
char* buf1="RTZGJK";
for...
  for..
          students.name[j] = (students.name[j] >=  0 ) ? buf[students.name[j] & 0xF0] : buf1[rand()% 6 ];
...
Рейтинг: 0 / 0
22.04.2007, 21:58
    #34478987
errorka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш
а что значит символ 128?
...
Рейтинг: 0 / 0
22.04.2007, 22:30
    #34479017
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш
errorka пишет:

> char b[] = {'R', 'T', 'Z', 'G', 'J', 'K'};
>
> for (i=0; i<kolvostudents-1; i++)
> {
> for (j=0; j<9; j++)
> {
> simb=students/.name[j];
>
> hash=simb%16;
> switch (hash)
> {
> case 15:
> students/.name[j]='F';
> break;
>
> case 14:
> students/.name[j]='E';
> break;

Ууууу, какая хороооошая праграма !

b, разумеется, используется для хранения массива из шести символов.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.04.2007, 22:49
    #34479026
errorka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш
а для чего эти 6 символов нужны??????
...
Рейтинг: 0 / 0
23.04.2007, 00:52
    #34479117
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хэш
errorkaа для чего эти 6 символов нужны??????

Скорее всего это имена студентов: R=Русский_мужик, T=тот_самый, Z=Злой, G=Gracoff, J=Judge , K=Кукуруз
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Хэш / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]