kemi (statz) | #2, Főfasz (2970) |
1108 | #2757 | ^ | Idézet | Sun, 25 Aug 2013 16:50:28 +02 |
78.131.*.* | *.pool.hdsnet.hu |
Akkor viszont az elsővel megegyező elemeket kell számolni, és úgy már helyesen le van kezelve az az eset, ha csak azonos értékekből áll.int max2nd(int* a, int len_a) { if (len_a <= 1) return NULL; int max = INT_MIN; int lastmax = INT_MIN; int count = 0; int first = a[0]; for (int i = 0; i < len_a; i++) { if (a[i] > max) { lastmax = max; max = a[i]; } if (a[i] > lastmax and a[i] < max) lastmax = a[i]; if (a[i] == first) count++; } if (count == len_a) return NULL; return lastmax; } Azért a C++-os részbe itt-ott bele lehet kötni: - Van multithreading support, a pthread. Igaz, hogy nem C++ standard, hanem POSIX, az majdhogynem egyenértékű, szerintem még az MSVC is támogatja. - C++11-től van unicode support. - Az miért baj, hogy nem kényszeríti ki se az OOP-t, se a strukturált programozást? - string s(); helyett írhatod úgy is, hogy string s = string(); hogy egyértelműbb legyen. |