
Вопрос задан 12.02.2021 в 08:46.
Предмет Информатика.
Спрашивает Пентегова Настя.
Pascal - Динамические структуры данных Дан список, содержащий натуральные числа. Удалить из него
элементы, кратные заданному числу k. // Решение данной задачи уже есть на просторах интернета, но мне надо чтобы было решено по теме динамические структуры данных... Прошу помощи о великие разумы...

Ответы на вопрос

Отвечает Билинский Игорь.
// PascalABC.NET 3.4
begin
var n:=ReadInteger('Укажите количество элементов в списке:');
var ds:=SeqRandom(n,1,9).ToList; // динамический список
ds.Println;
var k:=ReadInteger('Введите число k:');
ds:=ds.Where(m->m mod k<>0).ToList;
ds.Println
end.
begin
var n:=ReadInteger('Укажите количество элементов в списке:');
var ds:=SeqRandom(n,1,9).ToList; // динамический список
ds.Println;
var k:=ReadInteger('Введите число k:');
ds:=ds.Where(m->m mod k<>0).ToList;
ds.Println
end.




Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно, я могу помочь вам решить эту задачу с использованием динамических структур данных. В Pascal вы можете использовать динамический массив для реализации списка чисел и удалить элементы, кратные заданному числу k. Вот пример кода, который демонстрирует это:
pascalprogram RemoveMultiples; type IntArray = array of Integer; procedure RemoveMultiplesFromList(var list: IntArray; k: Integer); var i, j: Integer; begin j := 0; for i := 0 to Length(list) - 1 do begin if list[i] mod k <> 0 then begin list[j] := list[i]; Inc(j); end; end; SetLength(list, j); end; var myList: IntArray; i, k: Integer; begin // Инициализация списка чисел SetLength(myList, 10); for i := 0 to Length(myList) - 1 do begin myList[i] := i + 1; Write(myList[i], ' '); end; WriteLn; // Удаление элементов, кратных k k := 3; RemoveMultiplesFromList(myList, k); // Вывод обновленного списка for i := 0 to Length(myList) - 1 do Write(myList[i], ' '); end.
В этом примере мы сначала инициализируем список чисел и выводим его содержимое. Затем мы вызываем процедуру RemoveMultiplesFromList
, передавая ей список и значение k. В этой процедуре мы перебираем все элементы списка и удаляем элементы, кратные k, путем сжатия списка. Наконец, мы выводим обновленный список чисел.
Надеюсь, это поможет вам решить задачу с использованием динамической структуры данных в Pascal. Если у вас возникнут дополнительные вопросы, пожалуйста, дайте мне знать.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili