Hej, prosiłabym o pomoc, w krótkim zadaniu z C++
Jest n liczb calkowitych, jedna z tych wartości jest dominująca i występuje n - 1 razy, a inna występuje tylko raz. Trzeba znaleźć wartość elementu dominującego.
n ((3 ≤ n ≤ 15.000.000)) - ilosc liczb
oraz n liczb calkowitych l1, l2, ...... ln (0 ≤ li ≤ 9), li oznacza wartosc i-tej liczby.
Na przykład jak sa cyfry 6 4 4 4 4 1 2, to liczba dominującą jest 4.

Z GÓRY DZIĘKUJĘ <3


Odpowiedź :

Odpowiedź:

#include <iostream>

int main() {

   int a, n;

   std::cin >> n;

   int result;

   std::cin >> result;

   for (int i = 0; i < n - 1; i++) {

       std::cin >> a;

       if (result != a || i == n - 2) {

           break;

       } else {

           result = a;

       }

   }

   std::cout << result;

   return 0;

}

Wyjaśnienie:

Powinno działać, nie sprawdzałem jakoś tego dokładnie. I u Ciebie nie pokrywa się przykład z treścią zadania więc zrobiłem tak, że najpierw podaje się n, a potem liczby z których n - 1 musi być jednakowa a jedna inna

Odpowiedź

Zrobiłam inaczej. Założyłam, że – tak jak w opisie – są liczby od 0 do 9, a następnie policzyłam, która występuje najczęściej.

Kod źródłowy jest w pierwszym załączniku. W drugim podałam jak wyglądają przykładowe wyniki uruchomienia.

Wyjaśnienie

Kolega słusznie zauważył, że treść zadania jest niespójna (wewnętrznie sprzeczna), więc zrobiłam zakładając, że to druga część jest prawdziwa.

Przykładowe wyniki uzyskałam na platformie replit.

Jeżeli Twoja platforma (program, środowisko) nie obsługuje polskich liter w komunikatach, to zamień polskie litery w komunikatach na odpowiadające im znaki ASCII.

Jeżeli Twoja platforma nie obsługuje polskich liter w nazwach zmiennych i funkcji, to zamień polskie litery na odpowiadające im znaki ASCII. (Na przykład zarówno  Code::Blocks,  Dev-C++  jak i  OnlineGDB  jeszcze nie obsługują polskich liter w nazwach zmiennych oraz funkcji.)

Zobacz obrazek 0AB
Zobacz obrazek 0AB