Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2015, 17:25   #1
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию Последовательность чисел

Дана последовательность чисел. И сначала вводится n, который отличается от элементов последовательности. Теперь нужно найти все пары элементов последовательности в интервале между которыми находится n. (без массива, через while желательно)...

Попытался как-то так...
Код:
           double n, a, a1;
            double c,c1;
 
            c = 0;
            c1 = 0;
            Console.Write("n=");
            n = Convert.ToDouble(Console.ReadLine().Replace('.', ','));
 
            Console.WriteLine("Последовательность:");
 
            a = Convert.ToDouble(Console.ReadLine().Replace('.', ','));
 
            a1 = Convert.ToDouble(Console.ReadLine().Replace('.', ','));
 
            if ((n >= a1 && n <= a) || (n >= a && n <= a1))
            {
                c1 = a;
                c = a1;
            }
 
            while (a != 0)
            {
                a = Convert.ToDouble(Console.ReadLine().Replace('.', ','));
                if (a == 0) { break; }
                if ((n >= a1 && n <= a) || (n >= a && n <= a1))
                {
                    c1 = a;
                    c = a1;
 
            Console.WriteLine();
            Console.WriteLine("Пара ");
            Console.WriteLine(c);
            Console.WriteLine(c1);
            Console.WriteLine();
                }            
            }
 
            Console.ReadLine();
Хотелось бы, чтобы выводил каждую возможную пару, но он как-то выборочно выводит...
manchester_alan вне форума Ответить с цитированием
Старый 20.10.2015, 18:01   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Нужно или сохранять последовательность чисел или смириться с тем, что
Цитата:
он как-то выборочно выводит
Хотя, возможно, есть решение через использование рекурсии.
Но цикл while не поможет сохранить предыдущие значения.
А ещё, возможно, Вы забыли про какие-то ограничения, может, список значений упорядочен...


p.s. конвертация строки в вещественное число у Вас не очень корректна.
если сменить настройки локального разделителя в Windows (или запустить программу на другом компьютере, с другими настройками) - будут ошибки.
Посмотрите в сторону использования NumberDecimalSeparator
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.10.2015, 18:05   #3
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Хотя, возможно, есть решение через использование рекурсии.
Но цикл while не поможет сохранить предыдущие значения.
А ещё, возможно, Вы забыли про какие-то ограничения, может, список значений упорядочен...
[/I]
нее просто вот такое задание... Например, вывести в строку можно, но по заданию нельзя использовать string... И вот как вариант, чтобы через переменные он вывел все пары...?
manchester_alan вне форума Ответить с цитированием
Старый 20.10.2015, 21:42   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Теперь нужно найти все пары СОСЕДНИХ (?) элементов последовательности в интервале между которыми находится n.

Код:
var a,b,n: integer;
read(n);
read(a);
if a<>0 then read(b) else b:=0;
while (b<>0) 
  if a<n<b then write(a,b)
  else if a>n>b then write(b,a)
  else ;
  a:=b; read(b);
end;
P.S. это не код, это алгоритм записанный на ПСЕВДО понятном языке.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 20.10.2015 в 21:46.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана непустая последовательность целых чисел. Найти: Сумму чисел, больших числа x и количество всех чётных чисел maksim97maksim Паскаль, Turbo Pascal, PascalABC.NET 1 09.04.2014 13:59
Дана последовательность целых чисел a1, a2, …an. Образовать новую последовательность, выбросив из исходной, те члены, которые равн Мария74 C++ Builder 2 04.12.2013 23:09
Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является неубывающей. fanatloko Паскаль, Turbo Pascal, PascalABC.NET 1 23.06.2013 14:25
Дана последовательность вещественных чисел. каждая пара чисел задает границы отрезка. Найти количество целых чисел на отрезках 'studentka' Помощь студентам 6 30.11.2011 18:35
С\С++ Дана последовательность чисел. Найти количество различных чисел в этой последовательности yuliyayuliya Помощь студентам 1 14.04.2011 06:30