Предмет: Информатика,
автор: Незнайка663
Дана последовательность чисел, среди которых имеется один нуль. Вывести на печать все числа до нуля включительно.
ABCPascal
Ответы
Автор ответа:
0
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
begin
var a:=(SeqRandom(ReadInteger('n=')-1,1,99)+Seq(0)).ToArray.Shuffle;
Writeln('Исходный набор'); a.Println;
Writeln('Элементы до нуля'); a.TakeWhile(x->x<>0).Println
end.
Тестовое решение:
n= 20
Исходный набор
45 28 62 16 54 29 50 5 39 32 94 95 57 0 53 2 4 86 11 23
Элементы до нуля
45 28 62 16 54 29 50 5 39 32 94 95 57
begin
var a:=(SeqRandom(ReadInteger('n=')-1,1,99)+Seq(0)).ToArray.Shuffle;
Writeln('Исходный набор'); a.Println;
Writeln('Элементы до нуля'); a.TakeWhile(x->x<>0).Println
end.
Тестовое решение:
n= 20
Исходный набор
45 28 62 16 54 29 50 5 39 32 94 95 57 0 53 2 4 86 11 23
Элементы до нуля
45 28 62 16 54 29 50 5 39 32 94 95 57
Автор ответа:
0
Если непонятно, то сначала запрашивается длина последовательности, затем исходный набор формируется как последовательность случайных чисел на интервале [1;99] длины на единицу меньшей и к ней подписывается нулевой элемент. Дальше на базе этой последовательности формируется массив и его элементы перемешиваются случайным образом, в результате чего ноль с большой вероятностью попадает внутрь последовательности.
Автор ответа:
0
Остальная часть с использованием фильтра "Брать пока эементы ненулевые" в особых комментариях не нужждается.
Автор ответа:
0
!!!!!
Похожие вопросы
Предмет: Математика,
автор: superdvoe4nik
Предмет: Математика,
автор: baccdmitrij
Предмет: Русский язык,
автор: barakatbajsariev
Предмет: Математика,
автор: katrinksk
Предмет: Математика,
автор: kav1182