HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

переобразование в цифры (c++)
  #1  
Старый 02.02.2008, 05:31
байкал
Новичок
Регистрация: 01.08.2007
Сообщений: 24
С нами: 9882483

Репутация: 1
По умолчанию переобразование в цифры (c++)

Допустим у меня есть лист имен. Мне нужно для каждого имени создать уникальную цифру, ID. Как можно это сделать наиболее эффективно?
Например,
Код:
int idEgor = computeID("Egor");
int idPavel = computeID("Pavel");

Последний раз редактировалось байкал; 02.02.2008 в 05:38..
 
Ответить с цитированием

  #2  
Старый 02.02.2008, 05:35
Joker-jar
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
С нами: 10088966

Репутация: 646


По умолчанию

Для первой записи - id = 1. При вносе всех последующих - max(id) + 1
 
Ответить с цитированием

  #3  
Старый 02.02.2008, 05:47
байкал
Новичок
Регистрация: 01.08.2007
Сообщений: 24
С нами: 9882483

Репутация: 1
По умолчанию

Цитата:
Сообщение от Joker-jar  
Для первой записи - id = 1. При вносе всех последующих - max(id) + 1
Спасибо. Проблема в том что лист читается из файла и возможны дубликаты.
 
Ответить с цитированием

  #4  
Старый 02.02.2008, 13:46
spider-intruder
Постоянный
Регистрация: 10.12.2005
Сообщений: 939
С нами: 10746345

Репутация: 929


По умолчанию

Возьми Ascii код каждой буквы фамилии :-) Будет что то типа

фамилия Abcde код 6566676869

Изврат зато примитив

При повторении фамилии и цифра будет такой же )
 
Ответить с цитированием

  #5  
Старый 02.02.2008, 14:14
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
С нами: 10037186

Репутация: 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..
 
Ответить с цитированием

  #6  
Старый 02.02.2008, 17:53
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
С нами: 10370602

Репутация: 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;
}
 
Ответить с цитированием

  #7  
Старый 02.02.2008, 17:58
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
С нами: 10037186

Репутация: 1462
По умолчанию

>>struct UID uid;
Ni0x , да , это более грамотно
, я просто предложил ...
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...