Где ошибка. Хочу узнать какие парные числа, какие нет. Через объект int find()
. Заполняю ключем/ числом через void push(int key,int value)
, а оно выводит все и потом неизвестное число, что не так, где ошибка?
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <iomanip>
#define KOL_STRUCT 10
using namespace std;
class HashMenu
{
int key;
int value;
public:
HashMenu(int key,int value)
{
this->key = key;
this->value = value;
};
int getKey()
{
return key;
};
int getValue()
{
return value;
};
};
class HashTable
{
private:
HashMenu **arr;
int g=0;
public:
HashTable() /// konstrucktor
{
arr = new HashMenu*[KOL_STRUCT]; /// sozdanie dinamyc massiva
for(int i=0; i<KOL_STRUCT; i++)
{arr[i]=NULL;} ///arr[] = nylevoi ykazatel
};
void push(int key,int value) /// dobavlenie elem v spisok
{
int hash = (key % KOL_STRUCT);
while (arr[hash]!=NULL && arr[hash]->getKey() != key)
hash=(hash+1)%KOL_STRUCT;
if(arr[hash] !=NULL)
delete arr[hash];
arr[hash] = new HashMenu(key,value);
g++;
};
int get(int key) ///ydalenie elementa
{
int hash = (key % KOL_STRUCT);
while(arr[hash] !=NULL && arr[hash]->getKey()!=key)
hash = (hash+1)%KOL_STRUCT;
if(arr[hash] == NULL)
return -111;
else return arr[hash]->getKey();
};
int find()
{
int p=0,tt=0,hash=0;
for(int key=1; key<=3; key++)
{
int hash = (key % KOL_STRUCT);
if(arr[hash] == NULL)
{
cout << "not have value " << endl;
}
else
{
p= arr[hash]->getKey();
tt = arr[p]->getValue();
if(tt%2)
{
p=tt;
cout << p <<" = = " << endl;
}
else
{
cout << "not %" << endl;
}
}
}
}
~HashTable()///destructor
{
for (int i = 0; i <KOL_STRUCT ; i++)
if (arr[i] != NULL)
{delete arr[i];
delete[] arr;}
};
};
int main()
{
HashTable rqw;
rqw.push(1,6);
rqw.push(2,5);
rqw.push(3,4);
rqw.push(4,2);
cout << rqw.find() << endl;
return 0;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Укажите вывод программы (“comp”, если программа не скомпилируется и “err”, если произойдет ошибка при исполнении):
Нужно получить значение заголовка Content-Disposition из QNetworkReply