Во-первых, спасибо за внимание. Программа, которую я пытаюсь написать, должна делать следующее:
На выборах городского головы Великого Гуслару снялись M кандидатов, помеченных номерами от 1 до M. Каждый из N избирателей отдал важный голос за одного из них. Напишите программу, которая считывает описание голосов, а потом выдает результаты голосования и номер выбранного кандидата в мэры. Согласно избирательному закону Великого Гуслару, если два или более кандидата набрали одинаковое, наибольшее количество голосов, на выборах побеждает тот, у кого меньшее количество голосов.
Вход
Первая строка ввода содержит два целых числа M и N (1 ‹= M ‹= 10, 1 ‹= N ‹= 1000), определяющих подходящее количество кандидатов и количество поданных голосов. Во второй строке находятся N целых чисел от 1 до M. Это номера кандидатов, которым были отданы отдельные голоса.
Выйти
В первых M строках следует вывести в порядке очереди количество голосов, набранных кандидатами с номерами от 1 до M, в формате «X:Y», где X — номер кандидата, а Y — количество голосов. бросили на это. Затем отдельной строкой должен быть указан номер кандидата, победившего на выборах.
Пример
Вход:
3 10
1 3 2 1 2 3 3 3 2 2
Выход:
1: 2
2: 4
3: 4
Сейчас у меня есть код:
#include <iostream>
using namespace std;
int main()
{
int c,v,tab[100],sum,p;
sum=0;
cin>>c>>v;
for(p=1;p<=v;p++)
cin>>tab[p];
for(int i=1;i<=c;i++){
if (i==tab[p]){
sum+=tab[p]+1;
}
cout<<i<<": ";
cout<<sum<<endl;
}
return 0;
}
Мой вывод выглядит следующим образом:
1: 0
2: 0
3: 0
До сих пор я понял, что все, что он делает, это берет и выводит сумму. Любые советы или советы? Спасибо.
tab[p]
. Подумайте, каково значениеp
после первого цикла. - person molbdnilo   schedule 12.11.2016