Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Списък C++

Featured Replies

Здравейте, може ли малко помощ с една задача:

Да се състави функция, която извежда на екрана най- големия (най-малкия) по ключова стойност елемент на списък с начален указател START. 

 

Някой ако има някакви идеи ще е супер.

  • Автор

Добре като за начало искам да попитам, най- малкият елемент по ключова стойност означава първият елемент ли? 

преди 16 минути, Ммм написа:

Добре като за начало искам да попитам, най- малкият елемент по ключова стойност означава първият елемент ли? 

Не, всеки елемент от списъка, общо казано, се състои от данни и връзка/и към съседният/те елемент/и. В случая данните ще представляват ключ - нещо сравняемо, примерно число. Тоест трябва да обходиш списъка и да намериш този от елементите, чийто ключ е най-голям или най-малък.

Редактирано от flare (преглед на промените)

  • Автор

....
Добре имаме структура

{
int key;
elem *next;
} *start;

Инициализираме списъка и добавяме елементи:

void init()
{
start=NULL;
}

void add_b(init n)
{
elem *p=start;
start=new elem;
start->key=n;
start->next=p;
}

и за търсене, но не е за ключова стойност .... 
 

int search (int n)
{
elem *p=start;
if(start)
{
while ((p->key!=n) && (p->next))
 p=p->next;
if (p->key==n)
return 1;
else
return 0;
}
return 0;
}

Не знам, помагайте..

search() може и да работи но не ми харесва как е реализиран, по-скоро нещо от рода на 

int search(int n)
{
   elem *p=start;
   while (p)
   {
       if (p->key==n) return 1;
       p=p->next;
   }
   return 0;
}

Само че не виждам за какво ти е за да определиш макскималния или минималния елемент на списъка.

Редактирано от ined (преглед на промените)

преди 9 минути, Ммм написа:

за търсене,

Не знам, помагайте..

Ами функцията за търсене е много добро начало. Тя обхожда списъка, докато намери конкретен ключ.Значи само трябва да я преправиш да търси вместо това максимален или минимален. За целта, присвояваш във временни променлива стойността и указателя на първия ключ и обхождаш останалите, като проверяваш ако някой е по-голям (или по-малък съответно) си актуализираш променливите с него. Като стигнеш до края, във тях ще имаш нужния ти резултат.

  • Автор
преди 1 минута, ined написа:

search() може и да работи но не ми харесва как е реализиран, по-скоро нещо от рода на 


int search(int n)
{
   elem *p=start;
   while (p)
   {
       if (p->key==n) return 1;
       p=p->next;
   }
   return 0;
}

Само че не виждам за какво ти е за да определиш макскималния или минималния елемент на списъка.

Този search обхожда списъка нали? Как мога да търся най- голямата или най- малката стойност 

Току що, Ммм написа:

Този search обхожда списъка нали? Как мога да търся най- голямата или най- малката стойност 

Точно това обясних по-горе.

  • Автор

Ами благодаря за отделеното време (наистина), но ако можех да се справя с обяснение без код щях и да се справя и без да пиша тук. 

преди 7 минути, flare написа:

присвояваш във временни променлива стойността и указателя на първия ключ и обхождаш останалите, като проверяваш ако някой е по-голям (или по-малък съответно) си актуализираш променливите с него. Като стигнеш до края, във тях ще имаш нужния ти резултат.

...

В условието на задачата пише, че трябва да се изведат най-големият и най-малкият елементи.

Твоята функция за търсене търси някакъв специфичен елемент и връща 1 ако го намери или 0 в противен случай.

Няма да е зле да уточниш, какво искаш.

Ето една функция според условието на задачата.

Ако дадеш на функцията аргумент 1, тя търси най-малкия елемент, ако дадеш 0 - най-големия.

Този код работи по-бавно, но също така заема по-малко памет.

http://paste.ofcode.org/3ahb3tahUeXp6rXUTAWacuj

Този код работи по-бързо, но също така заема повече памет.

http://paste.ofcode.org/bFH2kkrvT8Hk24WANSmwnE

Редактирано от programprogram (преглед на промените)

  • Автор

Имам някакъв проблем със слепването на отделните функции и с това как да направя main-a . Може ли някой да ми покаже целия окончателен код?

преди 2 минути, Ммм написа:

Имам някакъв проблем със слепването на отделните функции и с това как да направя main-a . Може ли някой да ми покаже целия окончателен код?

Това ми звучи като следната ситуация:

Майката приготвя храна на детето, слага масата, слага му лигавничето и най-трудната част остава за детето, а именно- да си отвори устата.

Цитат

Ето една функция според условието на задачата.

Ако дадеш на функцията аргумент 1, тя търси най-малкия елемент, ако дадеш 0 - най-големия.

Чукча писател не читател - условието е функцията да изведе на екрана стойността на най-големия елемент. 

А после може и да напише функция дето да извежда най-малкия

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.