Вопрос задан 28.07.2023 в 00:47. Предмет Информатика. Спрашивает Фахретдинова Залина.

Паскаль. Списки. Формировать списки из N элементов. Добавить элемент А после второго кратного 3м

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

Для выполнения указанных операций в Pascal, вам потребуется использовать массивы (списки в Pascal представлены в виде динамических массивов). Вот пример кода, выполняющего описанные операции:

pascal
program 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

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос