Проблем със задача 4. Хистограма - от изпит- 6 Март 2016 ???!?!
Имате ли идея защо : p1,p2,p3,p4,p5 - не се увеличават а стоят на 0 ?
https://pastebin.com/4cVGVP6V
Имате ли идея защо : p1,p2,p3,p4,p5 - не се увеличават а стоят на 0 ?
https://pastebin.com/4cVGVP6V
Увеличават се, но трябва да зададеш result1 .. result5 след цикъла - ако го правиш преди това, промяната не им влияе. Освен това, трябва да cast-неш p1 .. p5 към double, иначе ги закръгля, или да ги направиш double още в самото начало.
Тръгна на 100% , но според мен няма логика p1...p5 да са double . Благодаря !
Когато вършиш операции с int и int, получаваш обратно int (дори и да го използваш, за да декларираш double, т.е. всичко след дес. запетая ще се загуби). Ако поне едното е double, получаваш double.
Това е един прост пример:
7 / 2 в математиката е 3.5, но тук и a, и b са int, следователно програмата трябва да върне int и получаваш 3.
Ако a или b са double, ще получиш double:
Това вече е операция между int и double, затова няма закръгляне и получаваш точен отговор.
Кастването върши същата работа - превръща единия int в double, за да не се получи целочислено деление.
Можеш да видиш още информация тук в книгата на Наков (използвай ctrl + f и напиши целочислено деление)
Изхода ти подсказва какъв тип трябва да е:
С int при подобни задачи/проекти можеш да загубиш данни, което не е желателно
Целочисленият тип "int" няма как да даде такъв изход с плаваща запетая.
Ето как ще изглежда изходът ти с int:
За това решението е с double, а не с int :)
Четете внимателно условията и ще се справяте доста добре :)