Автор Тема: Сортиране по азбучен ред С++  (Прочетена 9166 пъти)

nezabelejimata

  • Новаци
  • *
  • Публикации: 2
    • Профил
Здравейте,
Много се рових и много теми и т.н. изчетох и в крайна сметка нищо не можах конкретно да намеря и да ми свърши работа... Езика е с++ и на една тъпа задача не мога да я реша просто, защото на всякъде ми трябва сортиране по азбучен ред... и някак си не се получава..
Условието на цялата задача е :

Напишете компютърна програма, която извършва изброените по-надолу обработки на данни за домашни любимци:
 1. Въвежда с контрол на стойността брой на любимците от 5 до 160 и за всеки от тях въвежда (без контрол на стойностите) следните данни: име на любимеца (низ до 30 знака, възможно с интервали); вид на любимеца (низ до 20 знака, например куче, котка, рибка, паяк и т. н.); възраст на любимеца в брой навършени месеци; име и фамилия на стопанина на любимеца разделени с интервал (низ до 40 знака).
2. Извежда пълните данни за всички любимци, подредени по азбучен ред на вида, а при един и същ вид – по намаляване на възрастта. За всеки любимец данните да се изписват на един ред като първо е името му, после видът, след това възрастта му, но в години и месеци (както в примерите по долу), а накрая стопанина. Например: Рики - Острия нокът, котка, 3 г. и 2 мес., Сашо Миков Ариел, рибка, 0 г. и 8 мес., Фани Петрова
 3. Въвежда фамилия на човек и извежда списък с имената и вида на всички домашни любимци на стопани с такава фамилия, а също и средната възраст на тези любимци. Списъкът да бъде азбучно подреден по име на любимеца.   

но като цяло ме интересува конкретно за сортитрането по азбучен ред ... много благодаря предварително ;)
Активен

michael1960

  • Напреднали
  • *****
  • Публикации: 70
  • Distribution: Slackware 14.1
  • Window Manager: MATE Desktop Environment
    • Профил
    • WWW
Re: Сортиране по азбучен ред С++
« Отговор #1 -: Jul 05, 2015, 18:29 »
За проверка на два стринга, ще ти трябва функцията:
Код:
int strcmp ( const char * str1, const char * str2 );

Освен това е хубаво, препоръчително, но не задължително, двата стринга, които ще проверявате предварително да са с еднакъв шрифт, в смисъл само малки букви или само големи букви и да премахнете всички интервали, и в двата стринга, и тогава да сравнявате двата стринга.


Активен

Михаил Петров - град Смолян, България

nezabelejimata

  • Новаци
  • *
  • Публикации: 2
    • Профил
Re: Сортиране по азбучен ред С++
« Отговор #2 -: Jul 05, 2015, 19:14 »
Да,но не е ли само за сравнение само дали не са еднакви, а не кое е по-голямо...?
Активен

michael1960

  • Напреднали
  • *****
  • Публикации: 70
  • Distribution: Slackware 14.1
  • Window Manager: MATE Desktop Environment
    • Профил
    • WWW
Re: Сортиране по азбучен ред С++
« Отговор #3 -: Jul 05, 2015, 19:18 »
Цитат
http://www.cplusplus.com/reference/cstring/strcmp/

Какво е сортировка, това е подреждане накратко казано стойностите на някакъв масив по възходящ или по низходящ ред, цялата работа практически се свежда до проверка дали предишния елемент на масива е по - голям или най - много равен на следващият. Ако това е така двата елемента се разменят, ако не, се оставят така като са. Е въпросната функция връща число по - голямо от нула ако първият й параметър е по - голям от втория, по - малко от нула ако първият й параметър е по - малък от нула и равно на нула ако двата параметъра са равни. В случая със стрингове, тя сравнява ASCII кодовете на символите. Това е в общи линии.
« Последна редакция: Jul 05, 2015, 19:32 от michael1960 »
Активен

Михаил Петров - град Смолян, България

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Сортиране по азбучен ред С++
« Отговор #4 -: Jul 05, 2015, 22:54 »
String класа в C++ има предефинирани операторите < и > за лексикографски сравнения, което е същото като strcmp() само че върху String, а не върху char*. Предполагам щом е C++, на това ще се зарадват.

П.П. иначе не мина ли модата като наближи края на семестъра спешно да се търсят решения на курсови работи, навсякъде гледах ма не разбрах...и по възможност с женски ник че някак по-позитивно откликват хората.
« Последна редакция: Jul 05, 2015, 22:58 от gat3way »
Активен

"Knowledge is power" - France is Bacon

tdonev

  • Гост
Re: Сортиране по азбучен ред С++
« Отговор #5 -: Jul 06, 2015, 13:26 »
... Изтрито от автора ...
« Последна редакция: Jul 25, 2015, 00:53 от octanium »
Активен

chen_dzen

  • Напреднали
  • *****
  • Публикации: 623
  • Distribution: Debian 6.0 Squeeze
  • Window Manager: GNOME
    • Профил
Re: Сортиране по азбучен ред С++
« Отговор #6 -: Sep 01, 2015, 21:30 »
че от тва по-лесно няма

жокер:

     char ch;
     int x;
     x=char(ch);

NorthBridge

  • Напреднали
  • *****
  • Публикации: 177
  • Distribution: Slackware-current
  • Window Manager: Enlightenment E17
  • Mad Tinkerer
    • Профил
Re: Сортиране по азбучен ред С++
« Отговор #7 -: Sep 02, 2015, 00:43 »
String класа в C++ има предефинирани операторите < и > за лексикографски сравнения, което е същото като strcmp() само че върху String, а не върху char*. Предполагам щом е C++, на това ще се зарадват.

Може и да зависи от университета, но при мен редовна практика на упражнения бяха задачи в които трябваше да си пишем собствени имплементации на стекове, опашки, листи и графове, а целия STL беше абсолютно забранен. Така че по-добре да си кара със strcmp, да си няма ядове после.

П.С: Тази тема е малко некромантска вече.
Активен

I did a 'zcat vmlinuz > /dev/audio' and I think I heard God...

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Сортиране по азбучен ред С++
« Отговор #8 -: Sep 02, 2015, 00:52 »
@NorthBridge брат, ти ме разби. Че то като махнеш от Ц+1 стандартната библиотека, нищо не остава, по-добре да ползваш дѐдо му.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Сортиране по азбучен ред С++
« Отговор #9 -: Sep 02, 2015, 01:23 »
Цитат
по-добре да ползваш дѐдо му.

Тотално съгласен, крайно време е C++ да бъде изличен от лицето на земята, това е световно зло и трябва да бъде ликвидирано за доброто на човечеството.
Активен

"Knowledge is power" - France is Bacon

NorthBridge

  • Напреднали
  • *****
  • Публикации: 177
  • Distribution: Slackware-current
  • Window Manager: Enlightenment E17
  • Mad Tinkerer
    • Профил
Re: Сортиране по азбучен ред С++
« Отговор #10 -: Sep 02, 2015, 11:21 »
Тотално съгласен, крайно време е C++ да бъде изличен от лицето на земята, това е световно зло и трябва да бъде ликвидирано за доброто на човечеството.

Добре, аз примерно както искам да се занимавам с game development за в бъдеще, и като ненавиждам .JavaScript, с кой език да се захвана  :D Някъде ползват вече C#, обаче там е още по-голям мармалад отколкото ако си караш със С+1.
Активен

I did a 'zcat vmlinuz > /dev/audio' and I think I heard God...

chen_dzen

  • Напреднали
  • *****
  • Публикации: 623
  • Distribution: Debian 6.0 Squeeze
  • Window Manager: GNOME
    • Профил
Re: Сортиране по азбучен ред С++
« Отговор #11 -: Sep 02, 2015, 11:34 »
java  ;D специално за тази задача STL не е нужен просто един масив от  чарове го представяш в инт(ASCII) и ги сравняваш по мехурчетата или там както ти харесва. Поне на мен някво такова решение ми се върти в главата.
« Последна редакция: Sep 02, 2015, 11:50 от chen_dzen »
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Сортиране по азбучен ред С++
« Отговор #12 -: Sep 02, 2015, 11:54 »
Цитат
Добре, аз примерно както искам да се занимавам с game development за в бъдеще, и като ненавиждам .JavaScript, с кой език да се захвана

Lua, много ясно. Останалото не е интересно.
Активен

"Knowledge is power" - France is Bacon

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Сортиране по азбучен ред С++
« Отговор #13 -: Sep 02, 2015, 12:39 »
Луа се ползва там, където скоростта не е критична, например поведението на вразите. Иначе имам предложение за Норд, как хем да му е бързо, хем да има благинките на съвременните езици — Нимрод. Той има всички модерни финтифлюшки и в същото време се транслира до Ц=Ц+1, където може да се пипне преди да се докара окончателно до двоично състояние.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Сортиране по азбучен ред С++
« Отговор #14 -: Sep 02, 2015, 13:00 »
Той днешния гейм девелопмънт поне доколкото са ми обяснявали, се свежда предимно до вземане на някой готов енджин който в добрия случай нещо малко трябва да му се преправя, в общия случай обаче повечето се свежда предимно до скриптване. Нещо като Мишо Шамара с неговите албуми за повече пари и за още повече пари, нали требе да се изцеди колкото може. То навсякъде е така де, не само там, скучната реалност срещу смелите очаквания и тем подобни.
Активен

"Knowledge is power" - France is Bacon