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

 0
                    0
                     0
                    0
                 
            Для выполнения указанных операций в Pascal, вам потребуется использовать массивы (списки в Pascal представлены в виде динамических массивов). Вот пример кода, выполняющего описанные операции:
pascalprogram ListOperations; const N = 5; // Количество элементов в списке var myList: array of Integer; // Динамический массив для хранения списка i, count, aPosition: Integer; // Процедура для вывода списка на экран procedure PrintList(list: array of Integer); var i: Integer; begin for i := 0 to High(list) do Write(list[i], ' '); Writeln; end; begin // Формирование списка из N элементов SetLength(myList, N); Writeln('Введите ', N, ' элементов списка:'); for i := 0 to N - 1 do ReadLn(myList[i]); // Вывод списка на экран Writeln('Список:'); PrintList(myList); // Добавление элемента А после второго кратного 3м элемента списка count := 0; aPosition := -1; for i := 0 to High(myList) do begin if myList[i] mod 3 = 0 then begin Inc(count); if count = 2 then begin aPosition := i + 1; Break; end; end; end; if aPosition <> -1 then begin SetLength(myList, Length(myList) + 1); for i := High(myList) downto aPosition + 1 do myList[i] := myList[i - 1]; myList[aPosition] := A; end else Writeln('В списке нет второго кратного 3м элемента.'); // Вывод списка на экран после добавления элемента А Writeln('Список после добавления элемента А:'); PrintList(myList); // Удаление первого кратного 3м элемента списка for i := 0 to High(myList) do begin if myList[i] mod 3 = 0 then begin for count := i to High(myList) - 1 do myList[count] := myList[count + 1]; SetLength(myList, Length(myList) - 1); Break; end; end; // Вывод списка на экран после удаления первого кратного 3м элемента Writeln('Список после удаления первого кратного 3м элемента:'); PrintList(myList); // Выполнение сортировки списка по убыванию for i := 0 to High(myList) do begin for count := i to High(myList) do begin if myList[i] < myList[count] then begin A := myList[i]; myList[i] := myList[count]; myList[count] := A; end; end; end; // Вывод списка на экран после сортировки Writeln('Список после сортировки по убыванию:'); PrintList(myList); end.
Пожалуйста, обратите внимание, что в данном примере мы предполагаем, что элемент А уже определен до начала программы, чтобы его можно было добавить в список. Вы можете задать его значение до начала выполнения программы. Также обратите внимание, что в коде не предусмотрено контроля над вводом, что делает его упрощенным. В реальной программе нужно предусмотреть проверки на корректность вводимых данных.
 0
                    0
                     0
                    0
                Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			