В PascalABC.NET эта задача решается легко и быстро. В других версиях будет монстрик.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
procedure MakeFile(path:string); // не относится к заданию, создает файл Text со 100 числами begin WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString)) end;
begin MakeFile('MyFile1.txt'); // теперь у нас есть текстовый файл из 100 случайных чисел // собственно, решение var n:=ReadInteger('Укажите количество чисел:'); var a:=ReadLines('MyFile1.txt').Take(n).ToArray; Writeln('Исходная последовательность'); a.Println; Writeln('Результирующая последовательность'); a:=a.OrderBy(x->x.Last).ToArray; a.Println; WriteAllLines('MyFile2.txt',a); end.
points = 0
points_per_turn = 100
lives = 3
rooms = [("В комнате дракон :(", -1), ("В комнате живая вода :)", 1), ("Комната пуста :|", 0)]
n = len(rooms)
while lives > 0:
print("Жизней: ", lives, ", очков: ", points, sep = "")
shuffle(rooms)
print("Выбирайте любую из дверей, введите число от 1 до", n, end=" ")
choice = int(input()) - 1
points += points_per_turn
print(rooms[choice][0])
lives += rooms[choice][1]
print("Коварный дракон лишил вас последней жизни, но тем не менее у вас осталось", points, "очков.")