Предмет: Информатика, автор: tymoyalalka

Паскаль. Списки. Формировать списки из N элементов. Добавить элемент А после второго кратного 3м элемента списка (1, 6, 7, 3*, 5). Удаление первого кратного 3м элемента списка (1,7,3,А,5). Выполнить сортировку списка по убыванию. После выполнения каждой операции выводить список на экран.

Ответы

Автор ответа: Аноним
1

// PascalABC.NET 3.4.2, сборка 1790 от 15.09.2018

// Внимание! Если программа не работает, обновите версию!

begin

 var L := new List<integer>;

 L.AddRange(Seq(1, 6, 7, 3, 5));

 L.Println;

 var A := ReadInteger('A=');

 var s := L.ToArray.IndexesOf(t -> t mod 3 = 0);

 var i2 := s.Skip(1).First;

 L.Insert(i2 + 1, A);

 L.Println;

 L.RemoveAt(s.First);

 L.Println;

 L := L.SortedDescending.ToList;

 L.Println

end.

Приложения:

Аноним: И ввести сначала количество элементов, нажать Enter, затем сами элементы через пробел
tymoyalalka: Спасибо большое!!!
tymoyalalka: у меня еще вопросик. Как называется такой вид программирования в паскале, не используя стандартные операторы?
Аноним: Я не знаю, что Вы называете "стандартными операторами". В языке PascalABС.NET я не использовал ничего "нестандартного" - посмотрите код: так нет ни одного uses или #include для подключения каких-то библиотек или внешних исходных текстов. Это нормальный современный стиль программирования, а вот от того, как писали на Free Pascal или Turbo Pascal - да, этот код ушел далеко. Но Вы же сами написали про PascalABC
Аноним: Если Вы имели в виду название парадигмы программирования, когда множество операций сцепляется через точку - это цепочки, пришедшие из функционального программирования (представитель - язык Хаскель).
Аноним: PascalABC.NET - это современный язык платформы Microsoft .NET Framework и ему доступно все, что есть в .NET. В частности, стандартная коллекция List - односвязный список со всеми его свойствами и методами.
Аноним: Поэтому не надо корячится, изобретая "велосипед" - строить собственный класс List и описывать для него набор необходимых методов, а если не использовать объектно-ориентированное программирование - и того хуже - маяться с дурацкими указателями, изображая чуть ли не ассемблер.
Аноним: Да, совсем забыл, если вводить с клавиатуры, то также не нужны строки L.AddRange(Seq(1, 6, 7, 3, 5)); и L.Println;
tymoyalalka: Спасибо большое, правда,очень помогли!
Аноним: Пожалуйста...
Похожие вопросы
Предмет: Алгебра, автор: ermaxanchikkuttibaev