fork download
  1. void HashTable::GetTable(string filename) { // Функция считывания из файла
  2.  
  3. ifstream f(filename);
  4. f >> SIZEOFTABLE;
  5.  
  6. CreateTable(); // Тут просто делаю резайз на SIZEOFTABLE
  7.  
  8. string temp_name;
  9. num temp_number;
  10.  
  11. while (!f.eof()) {
  12. f >> temp_name;
  13. f >> temp_number;
  14. Table(temp_name, temp_number); // Считываю в след функцию
  15. OutPutTable();
  16. }
  17. }
  18.  
  19. void HashTable::Table(string name, num number) {
  20. if (FullSize() < 1) { // Функция проверки "забитости" вектора, скидывать не буду, просто проверяет есть ли пустые элементы, если нет - 0
  21. SIZEOFTABLE += step; // Увеличиваю переменную размера на шаг (по умолчанию шаг у меня 2)
  22. Table.resize(SIZEOFTABLE); // Увеличиваю таблицу
  23. }
  24.  
  25. int key;
  26. key = HashFunction(name); // Функция хеширования. Тоже не особо нужна, возвращает значения, не выходящие за размер, либо равные размеру. Мой массив из 50 элементов, максимальный хэш - 50
  27.  
  28. if (key >= SIZEOFTABLE) { // Больше равно на всякий случай, по факту только равно
  29. key = 0; // Если элемент равен 50, кидаю его в начало
  30. }
  31. AddInTable(key, name, number, SIZEOFTABLE); // отправляю данные в функцию заполнения
  32. }
  33.  
  34.  
  35. void HashTable::AddInTable(int key, string name, num number, int last) {
  36. bool good = false;
  37. while (key < last && good != true) { // просматриваем до last или пока не найдем место
  38. if (Table[key].value == 0) { // если нашли сразу - збс
  39. Table[key].name = name;
  40. Table[key].number = number;
  41. Table[key].value = 1;
  42. good = true;
  43. }
  44. else { // иначе сдвигаемся на шаг
  45. key += step;
  46. }
  47. }
  48.  
  49. if (good == false) { // если не нашли место для элемента, т.е. дошли от key до last, пробуем найти место с начала (от 0 до key)
  50. AddInTable(0, name, number, key);
  51. }
  52. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:1:6: error: 'HashTable' has not been declared
 void HashTable::GetTable(string filename) { // Функция считывания из файла
      ^
prog.cpp:1:26: error: variable or field 'GetTable' declared void
 void HashTable::GetTable(string filename) { // Функция считывания из файла
                          ^
prog.cpp:1:26: error: 'string' was not declared in this scope
stdout
Standard output is empty