Melyik az a legkisebb Fibonacci-szám, amelynek az ábrázolásához több mint 65 bit szükséges?



Hasonló dokumentumok
Programozás II. 2. Dr. Iványi Péter

Szövegek C++ -ban, a string osztály

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

Széchenyi István Egyetem

Programozás II gyakorlat. 6. Polimorfizmus

1. Alapok. Programozás II

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

117. AA Megoldó Alfréd AA 117.

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

Programozási Nyelvek: C++

500. CC Megoldó Alfréd CC 500.

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Információs Technológia

Pénzügyi algoritmusok

Programozás C és C++ -ban

Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt

3. Osztályok II. Programozás II

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Programozás I gyakorlat. 10. Stringek, mutatók

Programozás C++ -ban 2007/7

Programozás II. 4. Dr. Iványi Péter

SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek

1.AA MEGOLDÓ BERCI AA 1.

Bevezetés a programozásba 2

Programozás 6. Dr. Iványi Péter

Pénzügyi algoritmusok

500. AA Megoldó Alfréd AA 500.

RPC Remote Procedure Call Távoli eljárás hívás

C++ programok fordítása

Alprogramok, paraméterátadás

Proxer 7 Manager szoftver felhasználói leírás

Programozás II. Fájlkezelés

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

C#, OOP. Osztályok tervezése C#-ban

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Osztály és objektum fogalma

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Programozás C++ -ban 2007/4

C++ Standard Template Library (STL)

C string műveletek (string.h alkalmazása)

Fejlett programozási nyelvek C++ Iterátorok

9. MPI

C# osztályok. Krizsán Zoltán

Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek

Pénzügyi algoritmusok

Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Using the CW-Net in a user defined IP network

Adatbázis-kezelés ODBC driverrel

Szoftvertechnológia alapjai Java előadások

Szoftvergyártás: gyártásvezérlés kód-figyeléssel

Java és web programozás

Mobil Informatikai Rendszerek

Programozás C++ -ban

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás

Üzleti élet Nyitás. Nagyon hivatalos, a címzettnek meghatározott rangja van, aminek szerepelnie kell

128. AA Megoldó Alfréd AA 128.

Osztályok. 4. gyakorlat

Üzleti élet Nyitás. Nagyon hivatalos, a címzettnek meghatározott rangja van, aminek szerepelnie kell

Lopocsi Istvánné MINTA DOLGOZATOK FELTÉTELES MONDATOK. (1 st, 2 nd, 3 rd CONDITIONAL) + ANSWER KEY PRESENT PERFECT + ANSWER KEY

Objektumorientált programozás C# nyelven III.

Az alábbi példában a Foo f(5); konstruktor hívása után mennyi lesz f.b értéke? struct Foo { int a, b; Foo(int c):a(c*2),b(c*3) {} };

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET

Programozás II. ATM példa Dr. Iványi Péter

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

A C# PROGRAMOZÁSI NYELV

1000.AA Megoldo Alfréd 1000.A

Programozási nyelvek Java

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Bevezetés a programozásba Előadás: A const

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

C++ programozási nyelv Konstruktorok-destruktorok

AA MEGOLDÓ ALADÁR AA

Elemi alkalmazások fejlesztése II. 2. Beadandó feladat Juhász Ádám

PHP5 Új generáció (2. rész)

PROGRAMOZÁSI NYELVEK - CPP. GYAKORLAT JEGYZET

Mobil Informatikai Rendszerek

OOP: Java 8.Gy: Abstract osztályok, interfészek

Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE

Adatszerkezetek és algoritmusok

500.AJ Megoldó Magyar Magdolna 500.J

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

.Net adatstruktúrák. Készítette: Major Péter

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Kivételek, kivételkezelés a C++ nyelvben

Fejlett programozási nyelvek C++ Sablonok és adatfolyamok

500.AA Megoldo Arisztid 500.A

Bánsághi Anna

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

4. Öröklődés. Programozás II

1) Hány byte-on tárol a C++ egy karaktert (char)? implementáció-függő ( viszont lásd 79. megjegyzés ) 1 8 4

Virtuális függvények (late binding)

Átírás:

Magazin 1. Feladat (20 pont) Melyik az a legkisebb Fibonacci-szám, amelynek az ábrázolásához több mint 65 bit szükséges? Megoldás: 51680708854858323072 Innen: http://www.maths.surrey.ac.uk/hostedsites/r.knott/fibonacci/fibtable.html És 2^66 nál kell nagyobb egyenlőnek lennie, ami a windows calculatorból: 73786976294838206464 2. Feladat (50 pont) Adott egy labirintus, az a kérdés, hogy a bal felső sarokból a legrövidebb úton hány lépésben lehet eljutni a jobb alsó sarokba? letölthető file: labirintus.txt Megoldás: 10160, de minden 10158 10162 közötti értéket elfogadunk. Egy sima dijkstra algoritmust kell implementálni. 3. Feladat (20 pont) Ha a következő függvény kimenete 32 bites platformon "4 5", akkor mi volt a bemenő paraméter értéke? void Foo(int a) float b; printf("%d", sizeof(++a+b)); printf(" %d", a); Megoldás: 5. A sizeof még fordítási időben kiértékelődik így a ++a nem fordul bele a kódba.

Bugtracker Program is not Running (20 pont) Reporter: Shao Kahn Description This plogram not running. Try to enter on file, but open editor. I want to run program not open editor. I need please number the program outputs. Its very urgent. Can you help please? Source void main() size_t count= 0; for(size_t i = 0; i < 10; ++i) for(int j = -10; j < 0; ++j) if (j < i && i % 7 == 0) ++count; std::cout << count << std::endl; Response Megoldás: 0 Signed unsigned összehasonlítás esetén ( j < i) a signed értéket fogja a fordító unsignedra konvertálni és az összehasonlítást végrehajtani. Viszont - 10 unsignedon ábrázolva nagyon nagy számot ad ezért j mindig > mint i.

Wrong length is displayed (30 pont) Reporter: Striker Platform: Win32 PC Description When I run the program in release mode it runs OK, but displays some big random number under the string. But if I run the program in debug mode it crashes. Expected It should display the string and the second line should display the length of the string. Source class BufferBase int OriginalLen; char* Buffer; int Len; public: BufferBase(char* buffer, int length); virtual ~BufferBase(); operator const char*() const return Buffer; operator char* () return Buffer; ; int GetOriginalLen() return OriginalLen; BufferBase::BufferBase(char* buffer, int length) : Len(length), OriginalLen(Len), Buffer(new char[len]) memcpy(buffer, buffer, Len); BufferBase::~BufferBase() delete [] Buffer; void main() char Test[] = "abcdefghij"; BufferBase B(Test, strlen(test)+1); std::cout << B << std::endl; std::cout << B.GetOriginalLen() << std::endl;

Response A) int Len; és int OriginalLen; megcserélni B) Buffer(new char[len]) bevinni a függvény törzsén belülre C) memcpy-ben a length-et kell használni D) char Test[] a zárójelből hiányzik, hogy 10; Megoldás: A Az egész problémát a hibás inicializálási sorrend okozza. Mivel az inicializálás olyan sorrendben történik, ahogy a headerben le vannak írva a dolgok, nem pedig attól függ, hogy milyen sorrendben vannak felsorolva konstruktor mögött. Így jelenleg először OriginalLen inizializálódik az inicializálatlan Lennel. Majd megint az inicializálatlan Len alapján foglalunk buffert, majd végül Len-t is inicializáljuk.

Random crash issue (50 pont) Reporter: Goro Platform: Any Description This program runs fine most of the time, but there are some connections when it crashes. Can you please fix it? Expected It shouldn't crash. Source class Connection; /*!!! Must always use new, don't allocate on stack!!! */ class LoggedConnection : public Connection char* LastMessage; public: void Cleanup(); LoggedConnection(const std::string& address, int port); virtual ~LoggedConnection(); ; // Functions from Connection virtual void OnReceived(char* text); virtual void OnError(int errorcode); virtual void OnFinish(); LoggedConnection::LoggedConnection(const std::string& address, int port) : Connection(address, port), LastMessage() void LoggedConnection::OnReceived(char* text) printf("received: %s\n", text); delete LastMessage; LastMessage= text; void LoggedConnection::OnError(int errorcode) printf("error: %d\n", errorcode); Cleanup();

void LoggedConnection::OnFinish() Cleanup(); void LoggedConnection::Cleanup() printf("last Message (%d): %s\n", strlen(lastmessage), LastMessage); delete this; LoggedConnection::~LoggedConnection() delete LastMessage; void main() LoggedConnection* C= new LoggedConnection(std::string(), 0); C->Start(); Response Megoldás: printf("last Message (%d): %s\n", strlen(lastmessage), LastMessage); Ez a sor hibás abban az esetben, ha a connection-t azonnal lezárják üzenet küldése nélkül vagy hiba érkezik rajta. Ebben az esetben a LastMessage NULL, amire strlen()-t hívva crashel. A delete this; teljesen legálisan alkalmazható, ha utána a kérdéses metódus kilép anélkül, hogy virtuális metódust, vagy bármilyen membert próbálna elérni.

Logging does not work sometimes (50 pont) Reporter: Raiden Platform: Any Description When I call the Log function with 0xFF as first argument it should display the log no matter what is_log_active contains. But it doesn't it sometimes displays it sometimes not. Can you please tell me what is wrong? Source bool is_log_active[255]; void Log(char type_of_log, const char *txt) if (type_of_log==0xff is_log_active[type_of_log]) printf("%s\n", txt); int main() Log(0xFF, "Hello"); Response A) is_log_active inicializalatlansaga miatt B) -1-gyel indexeli az is_log_active-ot C) 0xFF-et nem lehet char-on abrazolni túlcsordul D) operator precedencia miatt, zarojel kellene Megoldás: B. 0xFF értéke signed char-on ábrázolva -1. Ha 0xFF-et csak úgy beleírom a kódba, akkor azt a fordító int-ként kezeli, így type_of_log == 0xFF összehasonlításkor a kisebb típust (char) a nagyobbra (int) konvertálja, de -1 int-en ábrázolva: 0xFFFFFFFF lesz, ami soha nem lesz egyenlő 0xFF-el. Így a feltétel első rész mindig hamis, ezért tovább menve is_log_active tömböt fogja -1-el megcímezni a program, ami az adatsegmensben a tömb előtt lévő memória tartalma alapján vagy logol vagy nem.

Memory Leak issue (50 pont) Reporter: Sonya Blade Platform: Any Description If you run this program it keeps allocating more and more memory. If you open the task manager you can see that the memory consumption goes up to more than 200 kb. This shouldn't happen. I tried to find the error myself, but couldn't find anything wrong with the program. Can you please help me Great Guru? Source #include <stdio.h> #include <string.h> class Str protected: char* mptr; int mlen; void CopyPtr(const char* Ptr, int Len=-1) delete [] mptr; if (Ptr == NULL) mptr= NULL; mlen= 0; else if (Len == -1) mlen= strlen(ptr); else mlen= Len; mptr= new char[mlen+1]; strncpy(mptr, Ptr, mlen+1); void ConcatenatePtr(const char* Ptr, int Len= -1) if (Ptr!= NULL) int NewLen = Len; if (NewLen == -1) NewLen= strlen(ptr);

char* NewPtr= new char[mlen + NewLen + 1]; strncpy(newptr, mptr, mlen); strncpy(newptr+mlen, Ptr, NewLen+1); delete [] mptr; mlen+= NewLen; mptr= NewPtr; public: Str() : mptr(null), mlen(0) Str(const Str& Other) : mptr(null), mlen(0) *this= Other; Str(char * Ptr) : mptr(null), mlen(0) CopyPtr(Ptr); ~Str() delete [] mptr; Str& operator=(const char* Ptr) CopyPtr(Ptr); Str& operator=(const Str& Other) if (this == &Other) return *this; CopyPtr(Other.mPtr, Other.mLen); return *this; Str& operator+=(const char* Ptr) if (mptr == NULL) CopyPtr(Ptr); else ConcatenatePtr(Ptr); return *this; Str& operator+=(const Str& Other) if (mptr == NULL) *this= Other; else

ConcatenatePtr(Other.mPtr, Other.mLen); return *this; Str operator+(const char* Ptr) Str Tmp=*this; Tmp+= Ptr; return Tmp; ; Str operator+(const Str& Other) Str Tmp= *this; Tmp+= Other; return Tmp; class UndoableStr: public Str char* mstoreptr; int mstorelen; public: UndoableStr() : mstoreptr(null), mstorelen(0) UndoableStr(const Str& Other) : Str(Other), mstoreptr(null), mstorelen(0) Save(); UndoableStr(const UndoableStr& Other) : Str(Other), mstoreptr(null), mstorelen(0) if (Other.mStorePtr == NULL) mstoreptr= NULL; mstorelen= 0; else mstoreptr= new char[other.mstorelen+1]; mstorelen= Other.mStoreLen; strncpy(mstoreptr, Other.mStorePtr, mstorelen+1); UndoableStr(char * Ptr) : Str(Ptr), mstoreptr(null), mstorelen(0) Save(); ~UndoableStr() delete [] mstoreptr; void Save()

delete [] mstoreptr; if (mptr == NULL) mstoreptr= NULL; mstorelen= 0; else mstoreptr= new char[mlen+1]; mstorelen= mlen; strncpy(mstoreptr, mptr, mstorelen+1); ; void Restore() CopyPtr(mStorePtr, mstorelen); int main() for(int i = 0; i < 1000000; ++i) UndoableStr us("42"); us.save(); Str s = "24"; Str ss = s + us; us += ss; us.restore(); Str* uss= new UndoableStr(us); delete uss; Response Megoldás: virtual maradt ki az ~Str() destruktor elől. Így a delete uss; hívásnál a fordító nem tudja, hogy UndoableStr-rel van dolga és csak az Str destruktorát hívja meg. Így az mstoreptr soha nem szabadul fel.

Autogcom not working (20 pont) Reporter: Kano Platform: Any Description When I run the program it crashes instantly. While debugging I figured out that AUTOGCOM is not working properly because it crashes with a NULL pointer exception, when I try to call AddValue. Source #include "igoheaders.h" class IGLOBAL_STATISTICS : public IINTERFACE public: DEFINE_INTERFACE; ; virtual void AddValue(int Value) = 0; virtual int GetMin() = 0; virtual int GetMax() = 0; class GLOBAL_STATISTICS : public IGLOBAL_STATISTICS protected: int mmax; int mmin; public: GLOBAL_STATISTICS(); virtual ~GLOBAL_STATISTICS() ; // IGLOBAL_STATISTICS virtual void AddValue(int Value); virtual int GetMin() return mmin; virtual int GetMax() return mmax; GLOBAL_STATISTICS::GLOBAL_STATISTICS() : mmax(int_min), mmin(int_max) void GLOBAL_STATISTICS::AddValue(int Value) if (mmax < Value) mmax = Value;

if (mmin > Value) mmin = Value; Response Megoldás: Ami kimaradt az a DECLAREOBJECTFACTORY(GLOBAL_STATISTICS); De az ellenőrzésnél nem vesszük figyelembe a whitespaceket, amik legálisak lehetnek egy C++ kódban. A ; hiánya viszont rossz megoldást eredményez.

RTFM (10 pont mindegyik) delete NULL? Most láttam egy részt a rendszerben, ami tuti, hogy delete -et hív egy pointerre, ami bizonyos esetben lehet NULL is. Ez így jó? Nem kellene oda egy if (!ptr)? Vagy csak benéztem valamit? Köszi, Jenő A) http://en.cppreference.com/w/cpp/language/delete B) Thinking in C++ volume 1 239-242 C) Thinking in C++ volume 1 557 D) Thinking in C++ volume 1 581 Megoldás: D NNG plakát Megtaláltam a neten a képet a régi, akkor még NavNGo-s óriásplakátról, azt, amelyiken a C++ rejtvény van. Viszont nem értem, hogy miért az jön ki, hogy navngo. Én akárhogy nézem mindig oavngo -t kapok. Egyébként itt a plakát, ha neked nincs meg itt a kép. <letölthető file: plakat.pdf> Köszi Jenő A) http://en.cppreference.com/w/cpp/language/aggregate_initialization B) http://en.cppreference.com/w/cpp/language/direct_initialization C) Thinking in C++ volume 1 620-621 D) Thinking in C++ volume 1 623-625 Megoldás: D

static_cast vs reinterpret_cast Hello! Most nézegetem, hogy C++-ban van egy csomó castolás művelet. Én eddig mindig a sima c típusú castolást használtam, de szeretnék áttérni. Csak azt nem értem, hogy mi a különbség a static_cast és a reinterpret_cast között. El tudod magyarázni? Előre is köszi, Jenő A) http://en.cppreference.com/w/cpp/language/implicit_cast B) http://en.cppreference.com/w/cpp/language/explicit_cast C) Thinking in C++ volume 1 181-186 D) Thinking in C++ volume 1 712-713 Megoldás: C const El tudod nekem mondani, hogy mi a különbség a const int* és az int const* között, sőt láttam olyat is, hogy int * const? Akkor ezek szerint mindegy, hogy hova írom, hogy const? Köszi a segítséget, Jenő A) http://en.cppreference.com/w/cpp/language/cv B) http://en.cppreference.com/w/cpp/language/pointer C) Thinking in C++ volume 1 356-357 D) Thinking in C++ volume 1 363 Megoldás: B

final Letöltöttem egy példakódot a netről, és találtam benne egy ilyet: class MyClass final... ; Ez mit csinál? Üdv, Jenő A) http://en.cppreference.com/w/cpp/language/access B) http://en.cppreference.com/w/cpp/language/final C) Thinking in C++ volume 1 498-500 D) Thinking in C++ volume 1 709-712 Megoldás: B Typename A múltkor gcc-vel fordítottam egy kódot, ami teljesen jól működött Visual Studio alatt és nem akart lefordulni. Végül Béla segített megoldani a dolgot és beleírt egy typename -et a kódba. Nézegettem, de nem igazán értem, hogy miért és mikor kell ezt kiírni. El tudod mondani? Köszi, Jenő A) http://en.cppreference.com/w/cpp/keyword/class B) http://en.cppreference.com/w/cpp/language/class_template C) Thinking in C++ volume 1 188-189 D) Thinking in C++ volume 2 122-123 Megoldás: D

=0 bug Most találtam a kódban egy ilyet class C... public: C(const C& c) = delete; Ez ugye bug? Ugyanis = 0; kellene oda írni és még persze a virtual is hiányzik. Jenő A) http://en.cppreference.com/w/cpp/memory/new/operator_delete B) http://en.cppreference.com/w/cpp/language/virtual C) http://en.cppreference.com/w/cpp/language/class D) http://en.cppreference.com/w/cpp/language/copy_constructor Megoldás: D Ez meg mi a template? Éppen egy nagyobb forrást olvasgattam és találtam benne egy érdekes template-et. Ilyet még nem láttam korábban és nem is igazán értem, hogy hogyan fordul le. El tudod mondani, hogy ez mit csinál, és mire jó?: template <> class C<int>... ; Előre is köszi, Jenő A) http://en.cppreference.com/w/cpp/language/class_template B) http://en.cppreference.com/w/cpp/language/function_template C) Thinking in C++ volume 1 685-688 D) Thinking in C++ volume 2 137-139 Megoldás: D

Template függvény Béla azt mondta múltkor, hogy csináljak egy template függvényt az új template osztályom létrehozásához, hogy ne kelljen a sok template paramétert kiírnom. Azt hogyan kell, és egyáltalán miért segít? Köszi, J. A) http://en.cppreference.com/w/cpp/language/template_specialization B) http://en.cppreference.com/w/cpp/language/function_template C) http://en.cppreference.com/w/cpp/utility/functional D) http://en.cppreference.com/w/cpp/container Megoldás: B *&? Hello! Olvasom a példaprogramot, amit adtál, és belefutottam egy ilyenbe: int*&. Ez most micsoda? Pointer vagy referencia? Köszi, J. A) http://en.cppreference.com/w/cpp/language/pointer B) http://en.cppreference.com/w/cpp/iterator C) Thinking in C++ volume 1 213-214 D) Thinking in C++ volume 1 478-479 Megoldás: D

AUTOGCOM leak Hello! A kódban láttam egy ilyet: AUTOGCOM<IAPPLICATION> App; Ez micsoda? Mert úgy néz ki, és úgy van később használva mintha egy pointer lenne. Viszont nem kellene akkor delete-elni is? Köszi, J. A) Elkéri az IAPPLICATION-t implementáló objektumot a repositoryból nem kell deletelni. B) Elkéri az IAPPLICATION-t implementáló objektumot a repositoryból és deletelni kell a végén. C) Elkéri az IAPPLICATION-t implementáló objektumot a repositoryból és ne felejts el DropClass-t hívni a végén. D) Automatikusan létrehoz egy IAPPLICATION típusú objektumot, ami valójában nem csinál semmit. Megoldás: A Xml Config A projektemben éppen egy tök jó config osztályt csinálok. XML-ből tölt be és lehet bele mindenféle értékeket menteni és betölteni típusosan. De a legjobb része az, hogy van egy multiconfig osztályom, amivel több configot össze lehet kapcsolni és persze maga is config. Így aztán végtelenségig egymásba lehet ágyazni őket. Valamelyik fejlesztő (talán Béla volt?) mondta, hogy van erre egy design pattern és azt kövessem, de már nem emlékszem, hogy ki volt. Szerinted melyikre gondolhatott? Üdv, J. A) http://en.wikipedia.org/wiki/adapter_pattern B) http://en.wikipedia.org/wiki/bridge_pattern C) http://en.wikipedia.org/wiki/composite_pattern D) http://en.wikipedia.org/wiki/decorator_pattern E) http://en.wikipedia.org/wiki/facade_pattern F) http://en.wikipedia.org/wiki/proxy_pattern

Megoldás: C Külső dll Kaptam egy külső library-t, hogy kössem be az igo kódjába. Sajnos az interface nagyon nem illeszkedik a mienkhez. Mit mond ilyenkor a könyv, mi a teendő? Köszi, Jenő A) http://en.wikipedia.org/wiki/adapter_pattern B) http://en.wikipedia.org/wiki/bridge_pattern C) http://en.wikipedia.org/wiki/composite_pattern D) http://en.wikipedia.org/wiki/decorator_pattern E) http://en.wikipedia.org/wiki/facade_pattern F) http://en.wikipedia.org/wiki/proxy_pattern Megoldás: A Crash bug A múltkor találtam a kódban egy függvényt: void add_squares(std::vector<int>& numbers) size_t size= number.size()/2; for(size_t i = 0; i < size; ++i) numbers.push_back(numbers[i] * numbers[i]); Átírtam iterátorosra, de így meg elég gyakran elszáll (Windows-on próbáltam). void add_squares(std::vector<int>& numbers) std::vector<int>::iterator last= numbers.begin() + numbers.size()/2; for(std::vector<int>::iterator i = numbers.begin(); i!= last; ++i) int num= *i; numbers.push_back(num * num);

Elrontottam valamit? Nekem jónak tűnik. Köszi, J. A) http://en.cppreference.com/w/cpp/language/operator_precedence B) http://en.cppreference.com/w/cpp/error C) http://en.cppreference.com/w/cpp/concept/randomaccessiterator D) http://en.cppreference.com/w/cpp/container/vector/push_back Megoldás: D Sprite system problem Képzeld most csinálok egy saját sprite rendszert. A spriteok bitmapek, amiket be lehet tölteni és meg lehet jeleníteni a képernyőn. Lehet pozicionálni is őket, sőt még forgatni is és nagyítani is tudom. Az a baj, hogy amikor elkezdem igazán használni a rendszert (éppen egy oldschool shootemup programot írok otthon telefonra), akkor elfogy a memória a telefonon. Rájöttem, hogy egy csomó spriteban ugyan az a bmp van betöltve. Főleg a bullet.bmp van bent nagyon sokszor. Tudsz valami tanácsot adni, hogy mit csináljak? Köszi, Jenő A) http://en.wikipedia.org/wiki/abstract_factory_pattern B) http://en.wikipedia.org/wiki/builder_pattern C) http://en.wikipedia.org/wiki/singleton_pattern D) http://en.wikipedia.org/wiki/flyweight_pattern E) http://en.wikipedia.org/wiki/observer_pattern F) http://en.wikipedia.org/wiki/proxy_pattern Megoldás: D

Project Managers Sürgős NMEA log analizálás Egy igen fontos ügyben kérném a segítségedet. Gyártás előtt állunk, és a partner már az utolsó országúti teszteken vizsgálja a programot. Eddig minden rendben ment, de most arra panaszkodtak, hogy az utolsó autopályás teszt közben az igo rossz értékeket jelenített meg a képernyőn. Küldtek egy videót, meg az nmea logokat a készülékről. Meg kellene nézni a logot, és néhány fontos adatot belőle, hogy össze tudjam hasonlítani a videoban található adatokkal. Itt találod a logot: letölthető file: highway.nmea Ezekre lennék kíváncsi: Mekkora távolságot tett meg? (m) (30 pont) Megoldás: 12740 m (elfogadott tartomány 12700-12800 ) Mennyi volt a legnagyobb sebesség? (km/h) (10 pont) Megoldás: 171.7 km/h (elfogadott tartomány: 171 173) Mennyi volt az átlagsebesség? (km/h) (20 pont) Megoldás: 144.1 km/h (összes távolság/összes idő. elfogadott tartomány: 143-145) Köszönöm szépen a segítséget, Tibor

!!!FONTOS!!! Kódolás help Hello! A partner megküldte a karakter-gyakoriságokat a szövegben, amiket kértél a huffman kódoláshoz. Most azt kérdezi, hogy milyen hosszú lesz a legrövidebb és a leghosszabb kódszó. 2, 37, 38, 41, 44, 59, 60, 74, 81, 89 Meg tudod adni? (30 pont) A) 1, 6 B) 2, 5 C) 3, 5 D) 3, 6 Köszi, Alx Megoldás: B

Dll Probléma Egy komoly problémával fordulnék hozzád. Egyik partnerünk küldött egy DLL-t, hogy kössük bele az igo-ba és használjuk. Sajnos semmilyen leírást nem mellékeltek hozzá, és szabadságra mentek. Nekünk meg a következő Development Snapshot-ban már használni kellene ezt a DLL-t. Itt találod a DLL-t: letölthető file: MysteriousDLL.dll Ki tudod deríteni, hogy mire való? (30 pont) A) GPS pozíciók szűrését végzi, eltünteti az apróbb kiugrásokat B) Black Box loggoláshoz kell, rögzít minden pozíciót és eseményt C) Dead reckoningot valósít meg az autó szenzorai alapján D) Sebességmérő kamerákhoz távolság alapú riasztáshoz jó Lekötelezel, ha ezt megoldod nekem, Ágó Megoldás: A A total commander FileInfo pluginjében megnyitva láthatóak a függvények nevei, amiket exportál a dll. Abból ki lehet találni.

28 Kütyü probléma! Sürgős! Hagytam az asztalodon egy kütyüt. Most érkezett a partnertől, mert állítólag valami GPS hibát talált a programban. Azt állítja, hogy nagyon lassan találja meg a pozíciót. Nem hiszem, hogy a mi oldalunkon lenne a hiba, de megtennéd, hogy utánanézel? Az én tippem az, hogy a gps vevő nem küld nekünk pozíciót. Ezzel nem tudunk mit csinálni, de tudjuk bizonyítani, hogy nem nálunk van a hiba. #1 Kérlek, nézd meg, hogy hány másodperc telik el a device bekapcsolásától addig a pontig, amíg az első GPS jelet megkapjuk. (40 pont) Megoldás: 33.94 másodperc. De elfogadjuk a 33-at és a 34-et is és a kettő közötti tört számokat is. Az első invalid RMC mondat: $GPRMC,062024.228,V,,,,,,,070907,,*2C 062024.228 paraméterből látszik, hogy 06:20:24.228 kor volt. Az első valid RMC mondat: $GPRMC,062058.168,A,4728.0931,N,01902.0449,E,0.31,327.79,070907,,*07 062058.168 paraméterből látszik, hogy 06:20:58.162 kor volt. #2 A partner azt mondja, hogy ez a lassú gps jelenség főleg akkor lép fel, ha sokáig kikapcsolva tartja a készüléket. Ha csak 5-10 percre kapcsolja ki a készüléket, akkor pár másodperc alatt talál GPS jelet. Ha azonban 4-5 órát áll, akkor sok idő kell neki. El tudod neki magyarázni, hogy ezt mi okozza? (20 pont) A) Ennyi ideig tart, amíg kiszámolja a pozíciót a kis teljesítményű processzorral. B) A műholdak elég messze vannak és időbe telik, amíg megérkezik róluk a jel C) A GPS vevő az Almanach adatokat tölt le a műholdakról. D) A GPS vevő az Ephemeris adatokat tölt le a műholdakról. Megoldás: D Köszi szépen a segítséget, Jani