Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

paskal06 avatar paskal06 2 Точки

Проблем със задача - Programming Fundamentals - Arrays and List Algorithms - Exercise, Задача 6

6.   Batteries

You are in a battery manufacturing plant. Your task is to stress test the latest batch of batteries for longevity.

You will receive an array of doubles on the console (first line, space-separated), indicating the capacities of the different batteries in the batch (in mAh). On the next line, you will receive the usage per hour for each battery as an array of doubles (second line, space-separated).

Next, you will receive the amount of hours you have to stress test each battery for (as an integer). Each of the batteries drains by its capacity until either the testing hours are over, or the battery dies (reaches 0 capacity).

Print the status of all the batteries at the end of the testing session (in percentage). If any batteries die, along with the percentage, print how many hours it took. The capacity and percentage are rounded to the 2nd decimal point.

------------------------------------------------------------------------------------

Процентите накрая не ми се получават. Някой има ли идея как да ги оправя?

https://pastebin.com/2LNqA2uF

 

 

-Благодаря предварително.

Тагове:
0
Programming Fundamentals 30/06/2017 22:19:25
paskal06 avatar paskal06 2 Точки

https://pastebin.com/1GGh3AhY

Реших си проблема сам, но и открих нещо много странно с масивите в C#.

Грешката ми беше, че бях написал:

 double[] HundredPercent = Capacity;, за да запазя данните на Capacity и да мога да го манипулирам.

Интересното е че после по-надолу бях манипулирал Capacity, но HundredPercent си приемаше стойностите на

Capacity, въпреки че манипулацията ставаше след като съм декларирал HundredPercent.

Някой знае ли защо става така?

 

 

0
sevgin0954 avatar sevgin0954 557 Точки

Прочети в интернет за референтни и стоиностни типове (reference type value type)

0
simeon3000 avatar simeon3000 264 Точки

"Някой знае ли защо става така?"

Става така заради типа данни, който ползват масивите - https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/reference-types

Изгледай още веднъж видеата на Преслав. Няколко пъти той обяснява разликите между reference types и value types.

 

Пример:

            int[] a = new int[] { 1, 2 };
            int[] b = a;

            b[0] = 10;
            b[1] = 20;

            Console.WriteLine(string.Join(" ", a));
            Console.WriteLine(string.Join(" ", b));

изход:

10 20

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