| kemi (statz) | ![]() #2, Főfasz (2982) |
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. |