[C++] Znajdź zwycięskiego kandydata

Kryk
Użytkownik
Użytkownik
Posty: 114
Rejestracja: 19 lut 2009, o 17:18
Płeć: Mężczyzna
Podziękował: 11 razy
Pomógł: 15 razy

[C++] Znajdź zwycięskiego kandydata

Post autor: Kryk »

Mam do zrobienia takie zadanie:
Wejście:

Podajemy dwie liczby: k i g
k- liczba kandydatów
g -liczba oddanych głosów na kandydatów z zakresu od 1 do k
następnie wpisujemy numery kandydatów na których zostały oddane
głosy, ich liczba to g.

Wyjście:

Dla wszystkich kandydatów podajemy ile otrzymał każdy głosów
na końcu wypisujemy numer kandydata który wygrał jeżeli dwóch
kandydatów otrzymało tyle samo głosów wygrywa ten z niższym numerem

np.
Wejście
3 10 // k, g
1 3 2 1 2 3 3 3 2 2

Wyjście
1: 2
2: 4
3: 4
2

Zacząłem robić tak

Kod: Zaznacz cały

#include <iostream>

using namespace std;

const int MAXP = 100;

int main()
{
int k, g;
int P[MAXP];
int S[MAXP];

int i;

cin >> k >> g;

for(i = 0; i < g; i++)
      cin >> P[i];

for(i = 1; i <= k; i++)
S[i] = i;



system("pause");
return 0;
}
Proszę o pomoc co dalej
Ostatnio zmieniony 17 paź 2011, o 08:14 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
chlorofil
Użytkownik
Użytkownik
Posty: 548
Rejestracja: 16 cze 2010, o 18:30
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 29 razy
Pomógł: 96 razy

[C++] Znajdź zwycięskiego kandydata

Post autor: chlorofil »

znów wczytałeś tylko dane... żadnych prób rozwiązania zadania. Naprawdę myślisz, że znajdziesz tu jelenia do zrobienia zaliczenia? Przedstaw swoje próby!
Kryk
Użytkownik
Użytkownik
Posty: 114
Rejestracja: 19 lut 2009, o 17:18
Płeć: Mężczyzna
Podziękował: 11 razy
Pomógł: 15 razy

[C++] Znajdź zwycięskiego kandydata

Post autor: Kryk »

Już zrobiłem może komuś się przyda kod

Kod: Zaznacz cały

#include <iostream>
 
using namespace std;
 
const int MAXP = 1000;
 
int main()
{
int m, n;
int P[MAXP];
int S[MAXP];
int K[MAXP];
int L[MAXP] = {0};
 
int i, j;
 
cin >> m >> n;
 
for(i = 0; i < n; i++)
      cin >> P[i];
 
for(i = 1; i <= m; i++)
{
S[i] = i;
K[i] = i;
}
 
for(i = 1; i <= m; i++)
      for(j = 0; j < n; j++)
{
if(K[i] == P[j])
{    
  L[i]++;
}
}
 
int winner = 0;
for(int i = 1; i <= m; i++)
{
if(L[winner] < L[i])
{
             winner = i;
}
}
for(i = 1; i <= m; i++)
cout << S[i] << ": " << L[i] << "
";
cout << winner;
 

return 0;
}
ODPOWIEDZ