Loading...
perov93 avatar perov93 0 Точки

04. Phone - Мога ли да помоля за обяснение на задачата.

Колеги, ако има някой които е решил тази задача. Моля да помоне с решението и да обясни. https://judge.softuni.bg/Contests/Compete/Index/422#3

Задачата има сходно решение с Phonebook, и е нужно да се напишат новите два метода, но не мога да се справя с тях.

Благодаря!

Тагове:
0
Programming Fundamentals
Stradjazz avatar Stradjazz 30 Точки

Някой може ли да помогне със съвет защо ми гърми на 113 линия. Обажданията работят без грешка, но смс гърми. Видях алтернативните решения, но не ми помагат, искам да разбера къде греша аз.

Ето кода

0
NonaG avatar NonaG 111 Точки

public static long DifferenceOfDigits(string number)
        {
            int[] digits = number.Split().Select(int.Parse).ToArray();
            long difference = digits[0];

for (int i = 1; i < digits.Length; i++)

Трябва да е оттук - нпр. string number=888, тогава digits ти е int-масив с един елемент вътре - 888. Затова програмата изобщо не влиза в цикъла и ти връща стойността на difference точно, както си я задал - 888.

Трябва да стане:

char[] digits = number.ToCharArray();
            long difference = 0;

И тогава трябва да вземеш на digits[i] стойността й като символ,не като поредния й номер в таблицата, а  нпр. char.GetNumericValue(digits[i]), след което програмата няма да ти приеме long-а, но нататък ще се оправиш. :)

1
Stradjazz avatar Stradjazz 30 Точки

Много благодаря!

В крайна сметка стана ето така:

public static long DifferenceOfDigits(string number)
        {
            char[] digits = number.ToCharArray();
            long difference = (long)char.GetNumericValue(digits[0]); 
            for (int i = 1; i < digits.Length; i++)
            {
                char.GetNumericValue(digits[i]);
                difference -= digits[i];
                }
            difference = Math.Abs(difference);
            return difference;
        }

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