Loading...
antonradev avatar antonradev 43 Точки

Homework 3, Problem 5 - Third Digit is 7? Моля за насока. Дотук нищо

Здравейте!

Може ли някаква насока по този проблем Problem 5 - Third Digit is 7?

Гугъл ме насочи само да обърна числото към стринг, но единствените примери които намерих са IndexOf и търсят буква където и да е в стринга.

Това от дясно наляво броене и проверяване на седмица не мога да го измисля

Тагове:
0
Programming Basics
Fujitzo avatar Fujitzo 9 Точки

Лелеее... аз къде отидох, хаха. Направо ме е срам да си призная, че се лутах 2ч и нещо из stackoverflow и MSDN четейки за IEnumerables, ТоArray , List, converitng arrays.. и какво ли още не.. а то има има решение с 1 ред !!! laugh

 

Нищо, упражних списъци и масиви. Ето ви две решения, който са пример за "от 9 дола вода да носиш" , но все пак мисля, че си заслужава да ги разгледате

Със Списък:

int number = int.Parse(Console.ReadLine());
            bool is7 = false;

            List<int> listOfInts = new List<int>();
            while (number > 0)
            {
                listOfInts.Add(number % 10);
                number = number / 10;
            }   
            listOfInts.Reverse();

            int thirdPosition = listOfInts.Count - 3;

            if (listOfInts[thirdPosition] == 7)
            {
                is7 = true;
            }
            Console.WriteLine(is7);

С Масив:

            string number = Console.ReadLine();

            bool is7 = false;

            char[] charArray = number.ToCharArray();

            int[] intArray = Array.ConvertAll(charArray, c => (int)char.GetNumericValue(c));

                     

            int thirdPosition = number.Length - 3;

            if (intArray[thirdPosition] == 7)

            {
                is7 = true;
            }
            Console.WriteLine(is7);

 

1
quickben avatar quickben 966 Точки

Хора стринга си е char array какви излишни конвертирания ви прихващат? Че и reverse() видях някой да казва, най малкото вместо да изпълняваш цял метод върху дадена колекция можеш да си направи един обратен цикъл... :)

string a = "12345";

if(a[2] == "7")....

 

1
25/08/2015 23:08:05
iliyanlishkov avatar iliyanlishkov 0 Точки

Какво ще кажеш за този вариант?           

            int a = int.Parse(Console.ReadLine());
            string b = a.ToString();
            char c = b[b.Length - 3];
            Console.WriteLine(c == '7' ? true : false);

Само дето ако е 5-ца е много късо числото и дава грешка. Знам как да я избегна, но има ли вариянт да го направя чрез някакъв кратък код на един ред? Искам да избегна да пиша дългото IF.

            int a = int.Parse(Console.ReadLine());
            if (a >= 100)
            {
                string b = a.ToString();
                char c = b[b.Length - 3];
                Console.WriteLine(c == '7' ? true : false);
            }
            else
            {
                Console.WriteLine("false");
            }

0
18/09/2015 16:29:43
Cwetkoyy avatar Cwetkoyy 3 Точки

Ето моето решение:

            long n = long.Parse(Console.ReadLine());
            bool thirdDig = true;
            if((n / 100) % 10 == 7)
            {
                Console.WriteLine(thirdDig);
            }
            else
            {
                Console.WriteLine("False");
            }
Поздрави!

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