• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

В чем ошибка?

  • Автор темы Vlak
  • Дата начала
V

Vlak

У меня функция add_sort которая доложна отсортировать список , подскажите в чем у еня ошибка ?К примеру у меня первое слово абажур а после выполнения этой функции у меня другое слово становится первым.*pbeg указатель на начало списка а *pend указатель на конец.s это массив(у меня слово) веденное с клавиатуры

C++:
void add_sort(A** pbeg, A** pend, char s[])  
{
A*pv=new A;
strcpy(pv->s,s);
A*pt=*pbeg;

while(pt) //prosmatrivaem spisok
{
if(strcmp(s, pt->s))
{
pv->next=pt;

if(pt==*pbeg) //v nachalo spiska
{
pv->prev=0;
*pbeg=pv;
}
else //v seredinu spiska
{
(pt->prev)->next=pv;
pv->prev=pt->prev;
}

pt->prev=pv;
return;
}

pt=pt->next;

}

pv->next=0; //v konec spiska
pv->prev=*pend;
(*pend)->next=pv;
*pend=pv;
}
 
G

grigsoft

А что по твоему возвращает strcmp?
 
V

Vlak

Я сравниваю слово из списка со слово м веденным с клавиатуры.Вообще доложно возращать слово стоит перед ним или нет.
 
G

grigsoft

А ты почитай внимательно - что она возвращает, и как ты сравниваешь
 
V

Vlak

Возвращает она лиюо 0 или 1 если я правильно понял.У меня что в этой строчке ошибка if(strcmp(s, pt->s))?
 
V

Vlak

я так понял что у меня запись не правильная.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!