Титла: Сортиране по азбучен ред С++ Публикувано от: nezabelejimata в Jul 05, 2015, 17:15 Здравейте,
Много се рових и много теми и т.н. изчетох и в крайна сметка нищо не можах конкретно да намеря и да ми свърши работа... Езика е с++ и на една тъпа задача не мога да я реша просто, защото на всякъде ми трябва сортиране по азбучен ред... и някак си не се получава.. Условието на цялата задача е : Напишете компютърна програма, която извършва изброените по-надолу обработки на данни за домашни любимци: 1. Въвежда с контрол на стойността брой на любимците от 5 до 160 и за всеки от тях въвежда (без контрол на стойностите) следните данни: име на любимеца (низ до 30 знака, възможно с интервали); вид на любимеца (низ до 20 знака, например куче, котка, рибка, паяк и т. н.); възраст на любимеца в брой навършени месеци; име и фамилия на стопанина на любимеца разделени с интервал (низ до 40 знака). 2. Извежда пълните данни за всички любимци, подредени по азбучен ред на вида, а при един и същ вид – по намаляване на възрастта. За всеки любимец данните да се изписват на един ред като първо е името му, после видът, след това възрастта му, но в години и месеци (както в примерите по долу), а накрая стопанина. Например: Рики - Острия нокът, котка, 3 г. и 2 мес., Сашо Миков Ариел, рибка, 0 г. и 8 мес., Фани Петрова 3. Въвежда фамилия на човек и извежда списък с имената и вида на всички домашни любимци на стопани с такава фамилия, а също и средната възраст на тези любимци. Списъкът да бъде азбучно подреден по име на любимеца. но като цяло ме интересува конкретно за сортитрането по азбучен ред ... много благодаря предварително ;) Титла: Re: Сортиране по азбучен ред С++ Публикувано от: michael1960 в Jul 05, 2015, 18:29 За проверка на два стринга, ще ти трябва функцията:
Код: int strcmp ( const char * str1, const char * str2 ); Освен това е хубаво, препоръчително, но не задължително, двата стринга, които ще проверявате предварително да са с еднакъв шрифт, в смисъл само малки букви или само големи букви и да премахнете всички интервали, и в двата стринга, и тогава да сравнявате двата стринга. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: nezabelejimata в Jul 05, 2015, 19:14 Да,но не е ли само за сравнение само дали не са еднакви, а не кое е по-голямо...?
Титла: Re: Сортиране по азбучен ред С++ Публикувано от: michael1960 в Jul 05, 2015, 19:18 Цитат http://www.cplusplus.com/reference/cstring/strcmp/ Какво е сортировка, това е подреждане накратко казано стойностите на някакъв масив по възходящ или по низходящ ред, цялата работа практически се свежда до проверка дали предишния елемент на масива е по - голям или най - много равен на следващият. Ако това е така двата елемента се разменят, ако не, се оставят така като са. Е въпросната функция връща число по - голямо от нула ако първият й параметър е по - голям от втория, по - малко от нула ако първият й параметър е по - малък от нула и равно на нула ако двата параметъра са равни. В случая със стрингове, тя сравнява ASCII кодовете на символите. Това е в общи линии. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: gat3way в Jul 05, 2015, 22:54 String класа в C++ има предефинирани операторите < и > за лексикографски сравнения, което е същото като strcmp() само че върху String, а не върху char*. Предполагам щом е C++, на това ще се зарадват.
П.П. иначе не мина ли модата като наближи края на семестъра спешно да се търсят решения на курсови работи, навсякъде гледах ма не разбрах...и по възможност с женски ник че някак по-позитивно откликват хората. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: tdonev в Jul 06, 2015, 13:26 ... Изтрито от автора ...
Титла: Re: Сортиране по азбучен ред С++ Публикувано от: chen_dzen в Sep 01, 2015, 21:30 че от тва по-лесно няма
жокер: char ch; int x; x=char(ch); Титла: Re: Сортиране по азбучен ред С++ Публикувано от: NorthBridge в Sep 02, 2015, 00:43 String класа в C++ има предефинирани операторите < и > за лексикографски сравнения, което е същото като strcmp() само че върху String, а не върху char*. Предполагам щом е C++, на това ще се зарадват. Може и да зависи от университета, но при мен редовна практика на упражнения бяха задачи в които трябваше да си пишем собствени имплементации на стекове, опашки, листи и графове, а целия STL беше абсолютно забранен. Така че по-добре да си кара със strcmp, да си няма ядове после. П.С: Тази тема е малко некромантска вече. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: go_fire в Sep 02, 2015, 00:52 @NorthBridge брат, ти ме разби. Че то като махнеш от Ц+1 стандартната библиотека, нищо не остава, по-добре да ползваш дѐдо му.
Титла: Re: Сортиране по азбучен ред С++ Публикувано от: gat3way в Sep 02, 2015, 01:23 Цитат по-добре да ползваш дѐдо му. Тотално съгласен, крайно време е C++ да бъде изличен от лицето на земята, това е световно зло и трябва да бъде ликвидирано за доброто на човечеството. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: NorthBridge в Sep 02, 2015, 11:21 Тотално съгласен, крайно време е C++ да бъде изличен от лицето на земята, това е световно зло и трябва да бъде ликвидирано за доброто на човечеството. Добре, аз примерно както искам да се занимавам с game development за в бъдеще, и като ненавиждам .JavaScript, с кой език да се захвана :D Някъде ползват вече C#, обаче там е още по-голям мармалад отколкото ако си караш със С+1. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: chen_dzen в Sep 02, 2015, 11:34 java ;D специално за тази задача STL не е нужен просто един масив от чарове го представяш в инт(ASCII) и ги сравняваш по мехурчетата или там както ти харесва. Поне на мен някво такова решение ми се върти в главата.
Титла: Re: Сортиране по азбучен ред С++ Публикувано от: gat3way в Sep 02, 2015, 11:54 Цитат Добре, аз примерно както искам да се занимавам с game development за в бъдеще, и като ненавиждам .JavaScript, с кой език да се захвана Lua, много ясно. Останалото не е интересно. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: go_fire в Sep 02, 2015, 12:39 Луа се ползва там, където скоростта не е критична, например поведението на вразите. Иначе имам предложение за Норд, как хем да му е бързо, хем да има благинките на съвременните езици — Нимрод. Той има всички модерни финтифлюшки и в същото време се транслира до Ц=Ц+1, където може да се пипне преди да се докара окончателно до двоично състояние.
Титла: Re: Сортиране по азбучен ред С++ Публикувано от: gat3way в Sep 02, 2015, 13:00 Той днешния гейм девелопмънт поне доколкото са ми обяснявали, се свежда предимно до вземане на някой готов енджин който в добрия случай нещо малко трябва да му се преправя, в общия случай обаче повечето се свежда предимно до скриптване. Нещо като Мишо Шамара с неговите албуми за повече пари и за още повече пари, нали требе да се изцеди колкото може. То навсякъде е така де, не само там, скучната реалност срещу смелите очаквания и тем подобни.
Титла: Re: Сортиране по азбучен ред С++ Публикувано от: spec1a в Sep 02, 2015, 14:36 Хора, осъзнайте се, какво му е на С++ като език.
Обектно ориентиран, и може да пипа на ниско ниво,това НЕ МОГАТ да го правят "модерни" езици като java,perl,PHP,С#,Python,Ruby и т.н. Да не говорим за по-доброто управление на паметта (голяма част от горепосочените "модерни" езици имат само garbage collector или нещо подобно, и не могат директно да освобождават памет). (в С++ е готино: ob=new <нещо си>; ....... delete ob; И ТОЛКОЗ) Аз обаче не можах да разбера какъв точно е проблема на мадамата, нищо конкретно не е написано. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: gat3way в Sep 02, 2015, 15:57 "Ръчното" управление на паметта е по-скоро проклятие, отколкото благодат, всеки знае каква красота е да се дебъгват memory leak-ове и dereference-ванки на указатели към вече освободена памет в някой по-голям проект. Особено когато става въпрос за многонишково приложение.
ООП наклонностите на C++ са раздути, ненужно комплексни и нерядко тласкащи към много лоши идеи, примерно не знам защо им е трябвало въобще да измислят глупости като множественото унаследяване, friend класовете и тем подобни безумия. Въобще крайно време е да го пенсионират най-накрая, за доброто на човечеството. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: spec1a в Sep 02, 2015, 17:34 Аз пак не успях да разбера с какво точно Java (примерно)
превъзхожда С++ . Това, което може да се постигне на Java, може да се постигне и на С++ ,но обратното не е вярно ( на С++ може да имаш пълен контрол, вкл. и на най-ниско ниво , а на Java това не може да се постигне). Затова и се налага да има библиотеки ,компилирани от С/С++ ако е необходим достъп на ниско ниво (най-общо казано),чиито функции се извикват от съотв. Java код . Това с особена сила важи напр. за андроид приложенията. А "езика" С# пък въобще не е за коментар. ;D Титла: Re: Сортиране по азбучен ред С++ Публикувано от: 4096bits в Sep 02, 2015, 18:05 На мен пък Python ми харсва все повече и повече.
Титла: Re: Сортиране по азбучен ред С++ Публикувано от: gat3way в Sep 02, 2015, 20:00 Това какво може да се постигне не е кой знае колко значим критерий (в противен случай хората нямаше да се напъват да измислят други програмни езици след могат да си напишат всичко на асемблер - тук по едно време се подвизаваше един такъв пурист).
Примерно цялата купчина j2ee неща търкалящи се по света може и да се пренапишат на cpp...но просто не виждам кой би си го причинил това. Както и да е, C++ се е сдобил с популярност в едни други времена, когато изчислителните възможности са били доста по-ограничени и нуждата от софтуер е била по-малка в сравнение с днес. Всичко това вече не стои така. За капак на всичко, C++ прогресира по още по-извратен начин, имам предвид C++11. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: chen_dzen в Sep 02, 2015, 20:18 C# не се ли прекръсти на .net
защото C# без .NET = 0 За game dev и аз си мисля, че C/C++/UDK е много добре. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: spec1a в Sep 03, 2015, 14:02 Някой от форума занимава ли се с андроид приложения ?
Като че ли цялата концепция е неефективна. Приложенията се изпълняват в dalvik виртуални машини,които интерпретират специфичен псевдокод.Със сигурност би се повишило сериозно бързодействието ако приложенията са нативни (т.е изпълним машинен код ). Понякога (напр. при по-бавни процесори) сериозно се забавя и самото стартиране на приложение (форква се родителска dalvik виртуална машина (zygote), после се зареждат съотв. данни и т.н. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: go_fire в Sep 03, 2015, 14:13 Ей сега стана боя, като дойдат жабарите и цъострите :D
п.п. Далвик го изхвърлиха преди две версии в полза на джит. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: BRADATA в Sep 03, 2015, 17:02 Някой от форума занимава ли се с андроид приложения ?Мале, човече... Ти с какво точно се занимаваш? Освен с тролене разбира се.... Разбира се, че ще има сериозно повишаване на бъзодействието ако се пише на асемблер.... Само, че я си помисли до какво ще доведе това? Поразсъждавай малко и ми отговори... Ще ти дам един хинт - защо програма писана за 8031 няма да тръгне на 6502? Титла: Re: Сортиране по азбучен ред С++ Публикувано от: spec1a в Sep 03, 2015, 18:51 Разбира се,че не става въпрос за тролене, що за въпрос.
Просто някаква дама във форума, иска да и се напише програма за сортиране , дискусията се отклони в съвсем друга посока, започнаха коментари за различните програмни езици, това е .Просто защитавам някои програмни езици. Имам доста сериозен опит с андроид приложенията,пиша такива и коментирах ефективността ... Пък и не съм предлагал да се унищожи даден език,нали ;D . По отношение на биткоините (ако и затова става дума), неслучайно пуснах темата във "Живота,вселената ...", има и съответните емотикони и т.н. Любопитни са ми някои реакции на съфорумци ... Смятам ,че умея да си защитавам тезите. Бъдете здрави ! Титла: Re: Сортиране по азбучен ред С++ Публикувано от: spec1a в Sep 03, 2015, 22:42 BRADATA, ако не е тайна,кои са твоите любими програмни езици (или
предпочитани по-общи концепции в програмирането). Аз все пак съм се изказвал достатъчно аргументирано. P.S. не крия, че с пича ,които обича да програмира на асемблер,имаме много общи възгледи .. ;D Титла: Re: Сортиране по азбучен ред С++ Публикувано от: daniel_vulchev в Sep 03, 2015, 23:24 http://www.cplusplus.com/forum/beginner/12089/ ($2) прочети тук. Като не можете да пишете код дали на жава или пхп ще се пънете е все там и кой е по добрия като кода е написан некадърно е без значение вместо да помогнете си мерите клавиатурите и късите кабели
Титла: Re: Сортиране по азбучен ред С++ Публикувано от: BRADATA в Sep 04, 2015, 05:51 BRADATA, ако не е тайна,кои са твоите любими програмни езици (илиКакво значи "любими"? Пиша на това, което ми върши работа. Аз съм по-скоро системен интергратор/администратор отколкото програмист. Занимавам се с интегрирането на хардуерни устройства във вече съществуващи системи. И съответно ми се налага да пиша front&backend приложения с оглед безпроблемна работа на системата. Имам познания в ООП/ЛП с PHP, perl, писал съм на C и C++, pascal(turbo&Delphi), bash scripting, HTML, JavaScript, SQL, писал съм на асемблер когато се е налагало. Все пак се занимавам с компютърни системи от началото на 90-те години миналия век. На тема концепции - всичко зависи от конкретната задача. Давам пример - глупаво е за една страничка, показваща състоянието на дадена система (брой събития например) да се ползва ООП. Титла: Re: Сортиране по азбучен ред С++ Публикувано от: spec1a в Sep 04, 2015, 22:37 Баси, как сме се отплеснали ...
Няма ли кой,да напише курсовата работа на мадамата... ;D А ние тук спорим за програмните езици, щяхме да се сбием ;D |