Софтуерно Инженерство
Loading...
+ Нов въпрос
Iamnikkysiderov avatar Iamnikkysiderov 11 Точки

Не вярвам да е грешно? 5 Problem. Char Rotation

Или не мога да схвана задачата или не знам. Какъв може да е проблема?

using System;
using System.Linq;

    public class Program
    {
        public static void Main(string[] args)
        {
            string charValues = Console.ReadLine();
            int[] intValues = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
            char[] result = new char[intValues.Length];

            for (int i = 0; i < intValues.Length; i++)
            {
                 if (i % 2 == 0)
                 { result[i] = (char)(charValues[i] - intValues[i]);
                 }
                 else
                 { result[i] = (char)(charValues[i] - intValues[i]);
                 }
            }
    
            Console.WriteLine(string.Join("",result));
        }
    }

Тагове:
0
Programming Fundamentals
simonradev avatar simonradev 67 Точки

Здраве, не съм тествал кода дали дава 100/100, защото на мен ми изглежда, че работи коректно. Имаш само една малка грешка в условието на иф-а и друга в логиката на елс-а. Обяснил съм грешките с коментар в кода, а ако не съм обяснил достатъчно ясно питай.

Ето го и кода -> http://pastebin.com/RUkXXzHK.

-1
Iamnikkysiderov avatar Iamnikkysiderov 11 Точки

В else-a не знам как съм го объркал при поставянето... в judge-а си тествам с правилна логика (тоест с +) и пак не ми дава точки. А за първия ти коментар... Има ли разлика дали проверявам мястото на елемента в масива или i в цикъла като и двете започват от 0?

0
simonradev avatar simonradev 67 Точки

Идеята е, че на теб ти се иска да провериш от един масив с числа самия елемент на индекса дали е четен или не. Тоест ако масива е {1, 2, 3, 4, 5} и имаш един цикъл { for(int i = 0; i < array.Lenght; i++) }, ти като подаваш променливата/итератор ( i ) ти проверяваш дали 0, 1, 2, 3, 4 са четни или не. За да достъпиш самия елемент трябва до името му да му подадеш индекса в квадратни скоби -> array[ i ]. Така като ( i ) стане например 2 ще достъпиш 3-тия елемент от масива, защото броенето започва от 0 -> array[ 2 ] = 3. Дано си го разбрал, защото и аз се оплетох доста в обяснението. :D

-1
Iamnikkysiderov avatar Iamnikkysiderov 11 Точки

Разбрах какво имаш в предвид. Сега ще пробвам и ще докладвам да кажа дали е проработило.

0
BlessedWIthHope avatar BlessedWIthHope 1 Точки

И аз се обърках с условието. Не на "even position" а "If the element at the position is even" .
 

0