Kamkom Rifles Ответов: 2

Как я могу найти SD n раз, а затем сравнить, чтобы получить самое высокое значение в массиве?


Поэтому сначала мне нужно ввести число с помощью scanf, разделенного пробелом, в массив, подобный этому :
How many hours : 4
How many minutes for #1 : 10 6 55 
How many minutes for #2 : 30 50 60
How many minutes for #3: 60 30 50
How many minutes for #4 : 6 7 9
The finest hours are #2 and #3
The score is %d and the Standard Derivation is ___.

Ввод "часов" может быть любым

Можно использовать только stdio.h и math.h

Что я уже пробовал:

Я пробовал использовать цикл while для поиска суммы
хранить в первом массиве, а затем вычислить SD с помощью
команду магазина в другой массив
но каким-то образом все закончилось именно так, поэтому я стараюсь сделать это
Сначала поработайте хотя бы над тем, чтобы найти сумму всех минут.

Сколько минут для #1: 1 2 3

Сколько минут для #2:
Сколько минут для #3:
Сколько минут для #4: input able здесь

так что он просто пропускает от 1 до 4
не позволяйте мне делать ввод в #2 и #3

*Я использую scanf для большей части входных данных

Это поиск суммы часть кода
If (hours >= 1 && hours <= 60)
{
for(int i = 1; i < hours-1; ++I)
{
printf("\nHow many minutes for #1:",i);
scanf("%d", &minutes);
sum = minutes + sum;
array[I] = sum;
}
return 0;
}

Хорошо поэтому я просто добавляю еще один цикл внутри цикла
Чтобы исправить проблему выше сейчас, но все еще не могу понять
Как найти SD и printf, когда их несколько
Максимальные показатели

Полный код : https://pastebin.pl/view/de043497

CPallini

Вы должны более четко сформулировать, каковы ваши фактические требования. Например, нужно ли вычислять среднее и стандартное отклонение каждой последовательности? Что делает #2 и #3 "лучшими часами"?

Kamkom Rifles

Лучшие часы должны обладать этим качеством:

- максимальные значения суммы(наивысшее значение)
- если существует более одной максимальной суммы, то самая низкая SD стала лучшими часами
- #2 и #3 равны по сумме и S. D.

Мне нужно вычислить сумму и стандартный вывод для каждого часа(последовательность)

2 Ответов

Рейтинг:
17

KarstenK

Вы должны понимать, что Стандартный Выводсначала. Вы должны выбрать, используете ли вы SD одного измерения или SD всех данных. Лучше всего отделить его.

совет: используйте структуры для таких данных, как:

struct Data {
 int index;
 int minutes1;
 int minutes2;
 int minutes3;
 double median;
 double SD;
} data;


Kamkom Rifles

Ну а вопрос задан для того, чтобы сначала сравнить сумму минут. Если сумма равна, то выбранным значением будет значение с меньшим SD. Поскольку существует N количество часов (размер между 1-60), создание разделенных переменных для всех возможных способов возможно, но потребляет много ресурсов.

Рейтинг:
11

CPallini

Создайте функцию, которая, учитывая последовательность, вычисляет ее сумму и стандартное отклонение (она может возвращать два значения в a struct).
Затем итеративно вызовите такую функцию над входными последовательностями, сохраняя возвращенные значения в массиве. В конечном итоге выберите "лучшие последовательности" на основе значений массива.