Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
переобразование в цифры (c++) |

02.02.2008, 05:31
|
|
Новичок
Регистрация: 01.08.2007
Сообщений: 24
Провел на форуме: 48533
Репутация:
1
|
|
переобразование в цифры (c++)
Допустим у меня есть лист имен. Мне нужно для каждого имени создать уникальную цифру, ID. Как можно это сделать наиболее эффективно?
Например,
Код:
int idEgor = computeID("Egor");
int idPavel = computeID("Pavel");
Последний раз редактировалось байкал; 02.02.2008 в 05:38..
|
|
|

02.02.2008, 05:35
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Для первой записи - id = 1. При вносе всех последующих - max(id) + 1
|
|
|

02.02.2008, 05:47
|
|
Новичок
Регистрация: 01.08.2007
Сообщений: 24
Провел на форуме: 48533
Репутация:
1
|
|
Сообщение от Joker-jar
Для первой записи - id = 1. При вносе всех последующих - max(id) + 1
Спасибо. Проблема в том что лист читается из файла и возможны дубликаты.
|
|
|

02.02.2008, 13:46
|
|
Постоянный
Регистрация: 10.12.2005
Сообщений: 939
Провел на форуме: 3886281
Репутация:
929
|
|
Возьми Ascii код каждой буквы фамилии :-) Будет что то типа
фамилия Abcde код 6566676869
Изврат зато примитив
При повторении фамилии и цифра будет такой же )
|
|
|

02.02.2008, 14:14
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
а массив ?
Users[1] = computeID("Egor");
Users[2] = computeID("Pavel");
или двумерный...
Users[1,1] = "Name: Egor";
Users[1,2] = computeID("Egor");
Users[2,1] = "Name: Pavel";
Users[2,2] = computeID("Pavel");
Последний раз редактировалось Jes; 02.02.2008 в 14:18..
|
|
|

02.02.2008, 17:53
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
Jes, о да, очень грамотно, а если 300 имен будет, ты тоже так заполнять будешь?
Код:
#include <stdio.h>
#include <stdlib.h>
struct UID
{
char *name;
unsigned short id;
}*PUID;
int main(int argc, char *argv[])
{
int i;
struct UID uid;
char *names[] = {"Egor", "Alex", "Mixail", "Sergey", "Igor"};
srand(time());
for(i = 0; i < 5; i++)
{
uid.name = names[i];
uid.id = i + rand() % 10;
printf("uid.name: %s\nuid.id: %d\n", uid.name, uid.id);
}
system("PAUSE");
return 0;
}
|
|
|

02.02.2008, 17:58
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
>>struct UID uid;
Ni0x , да , это более грамотно
, я просто предложил ...
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|