динамика

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

#1
что-то программа не пашет!!! Вычисляю хэш-адрес (seredina_kvadrata). Согласно этому адресу заполняю массив списков. Я думаю, может print неправильно работает?!
Код:
struct list{
int i;
list *next;
};
int seredina_kvadrata (int key)
{
int k=0,x=0;
x = key * key;
int y=x;
do{ 
y=y/10;
k++;
} while (y>=1);
k=k/2;
x=x/pow(10,k);
x=x % n;
return x;
}
void metod_cepochek(list *m[], int key)
{
int x=seredina_kvadrata(key);	
list *t=new list;
t->i=key;
t->next=m[x];
m[x]=t;
}
void print(list *m[])
{
for (list *t=m[0]; t->next=0; t=t->next)
cout<<t->i<<" ";
}
int main()
{
list *m[n];
for (i=0; i<n; i++){
m[i] = 0;
}
for (int j=0; j<n; j++)
metod_cepochek(m, a[j]);
print (m);
}
 
S

sdriver

#3
Для: Ogion7
Кажись в Си сравнение это ==. Зачот.
Чтобы не допускать таких ошибок советую писать const==t->next -- помогает:p
 
O

Ogion7

#4
Да ругнется сразу :p

И вообще лучше на NULL проверять
 
Статус
Закрыто для дальнейших ответов.