Don3008 / TestArray

0 stars 0 forks source link

wrong counter #1

Open WolfyW opened 5 years ago

WolfyW commented 5 years ago

ты не меняешь положение счётчика. у тебя условие r = arr[n-1] при этом саму n ты не меняешь, т.е. на каждой итерации у тебя r = arr[arr.length - 1], тебе надо менять n и l соответственно :)

            while (l < r)
            {
                if (l + r == s)
                {
                    Console.WriteLine("S = " + l + " " + r);
                }
                else if (l + r > s)
                {
                    r = arr[n - 1];
                    //break;
                }
                else if (l + r < s)
                {
                    l = arr[l + 1];
                    //break;

                }else
                Console.WriteLine("Такой суммы нет.");

            }

вот там где у тебя стоят брейки, тебе надо не элемент запрашивать на единицу меньше/больше а менять значение l и n, а потом запрашивать элемент от n или l

n--; r = arr[n];

WolfyW commented 5 years ago

поправь форматирование кода. Назови нормально переменные.

WolfyW commented 5 years ago

у тебя нет условия выхода из цикла после того как найдено значение

WolfyW commented 5 years ago

твой последний else в принципе недостижим