как печатать «без режима» когда режим не найден?

он рассчитывает режим, но я хочу, чтобы он делал вывод «нет режима», если нет никакого повторения какого-либо числа. Я пробовал метод сравнения, но каждый раз, когда мне дают только 1 цифру массива, в то время как не предполагалось печатать только режим, это функция вычисления режима, мне нужно получить данные из txt-файла и отсортировать их, а затем вычислить режим

//calculating mode now
int num, count;
double max, mode;

for (int i = 0; i < numScores; i++){
if (num !=*(pscores+i) ){
num = *(pscores+i);
count = 1;
} else {
count++;
}

if (count > max){
max = count;
mode = num;
}
}
cout<<"Mode : "<<mode<<endl;

0

Решение

Вы никогда не инициализируете mode кроме случаев, когда count > max, Ваше условие if никогда не будет работать, потому что вы не инициализируете max или. Предполагая, что ваше условие для «без режима», когда count <= maxПросто установите вокруг него еще и установите соответственно режим и макс.

//calculating mode now
int num = -1, count = 0;
double max = /* whatever */, mode = 0.0;

for (int i = 0; i < numScores; i++)
{
if (num !=*(pscores+i))
{
num = *(pscores+i);
count = 1;
}
else
count++;

if (count > max)
{
max = count;
mode = num;
/* maybe you want to break here? */
}
}
if (mode == 0.0) /* this is dangerous (mode might be 0.00000001 != 0.0) */
cout << "Mode: " << mode << endl;
else
cout << "Mode: no mode" << endl;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]