Loading...
remote87 avatar remote87 121 Точки

[Homework] Programming Basics - Loops - Problem {3} - Min, Max, Sum and Average of N Numbers - грешка?

Здравейте!

Условието на задачата е следното: 

Write a program that reads from the console a sequence of n integer numbers and returns the minimal, the maximal number, the sum and the average of all numbers (displayed with 2 digits after the decimal point). The input starts by the number n (alone in a line) followed by n lines, each holding an integer number. The output is like in the examples below. Examples:

input

output

 

input

output

3

2

5

1

min = 1

max = 5

sum = 8

avg = 2.67

2

-1

4

min = -1

max = 4

sum = 3

avg = 1.50


Сега, аз ли нещо бъркам или примерите са объркани? Кога по-точно sum на 3 + 2 + 5 + 1 дава 8 и от там, кога 8 / 4 ( броя на числата ) е 2.67?! Не би ли трябвало отговорите да са sum 11 и съответно average - 2.75?  На втория пример е същото: sum трябва да е 5 и average да е 1.67 ?!

Ето кода ми, ако смятате, че бъркам някъде:

http://pastebin.com/AfYi7aqR

Тагове:
2
Programming Basics 29/09/2015 12:21:43
adrnbeats avatar adrnbeats 37 Точки

Първото число, което получаваш като инпут (в случая 3) ти индикира с колко числа ще работиш. Тоест ти имаш само числата 2, 5 и 1. Тяхната сума съответно е 8 и average-а ти е 2.67.

3
05/09/2015 13:24:44
remote87 avatar remote87 121 Точки

aaaaaaa :D

Благодаря, аз малко по-различно го разбрах хахаха

1
Exten avatar Exten 4 Точки

И аз го умувах бая докато разбера колко елементарно е...

1
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

Колега благодаря за разяснението, само да отметна, че аз също се чудих с една команда ми дава 11 а не 8. После загрях като прочетох твоето обяснение, явно като дам array.sum() , то смята масива + числото и го дава общо :)

Тогава от твоето рязяснение аз направих нов масив и просто го копирах там и накрая давам сумата от копирания масив.

И сега то си работи смята си само числата без Н-числото. :))) 

Незнам но работи при всичките примери , немога да разбера защо първия ако му дам Сум смята и Н-числото а иначе като го копирам в друг масив и дам на него сумата не взима числото. Показва си правилно.

Ето го с просто решение без ифове и елсове ;) --> http://pastebin.com/GbRMCc64

1
TonislavAtanasov avatar TonislavAtanasov 86 Точки

1. В началото въвеждаш броя на числата, които ще използваш, а не число, което ще участва в агрегатните функции. 
2. Няма нужда да правиш втори масив. Няма логика да правиш втори масив освен това. Масивите са референтни, т.е. когато кажеш arr2 = arr1, това са две променливи, които сочат към една и съща клетка в паметта, т.е. когато промениш единия, променяш и другия. Така като гледам това го знаеш, тъй като пълниш само единия масив, а не и двата.
3. Програмата си работи коректно ако използваш само един масив.

Поздрави :)

2
dZf1aeA-KlimentHristov avatar dZf1aeA-KlimentHristov 56 Точки

Колега много си прав :) аз нещо съм се объркал че не е вярно с първия . Явно от ''прегряване''.

Няма нужда от втория да . 

Работи си коректно и с първия :) Благодаря за отговора веднага го чекнах.

1
01/12/2015 20:58:23
Sten_lii70 avatar Sten_lii70 -3 Точки

Същата работа,голямо умуване падна :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.