Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 31.01.2019
Сообщений: 40
1

Реализация стека и основных алгоритмов его обработки

03.04.2019, 12:48. Просмотров 188. Ответов 2
Метки нет (Все метки)

Написать программу для реализации стека и основных алгоритмов его обработки. Предусмотреть ввод с клавиатуры кол-ва элементов стека, значений элементов, значения элементов для поиска. Так же необходимо выводить стек на экран после каждой проделанной операции. Элементы должны быть записаны в том порядке в котором они введены с клавиатуры.
Найти последний нечетный элемент, удалить кол-во элементов равное значению найденного, вставить кол-во элементов равное значению найденного.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2019, 12:48
Ответы с готовыми решениями:

Реализация линейного списка и основных алгоритмов его обработки
Написать программу формирования линейного однонаправленного списка, удаления элемента и вывода...

Реализация очереди и основных алгоритмов её обработки
Заполнить очередь 9 случайными вещественными числами из интервала . Найти разность первого и...

Реализация множества и основных алгоритмов его обработки
Напишите программу для поиска количества различных четырехзначных чисел, которые можно написать при...

Реализация линейного списка и основных алгоритмов его обработки
Запись о товаре на складе представляет собой структуру с полями: номер склада, код товара,...

2
3591 / 1692 / 1922
Регистрация: 10.12.2014
Сообщений: 6,607
03.04.2019, 14:15 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
begin
  var S := New Stack<integer>;
  loop ReadLnInteger('Количество элементов стека:') do S.Push(ReadInteger('Добавить в стек:'));
  Write('Получен стек: '); S.Println;
  if S.Count(v->odd(v)) = 0 then begin Write('Нет нечётных'); Halt; end;
  Write('Последний нечётный элемент: '); var L := S.Where(v->odd(v)).Last.Println;
  if S.Count < L then begin Write('Нельзя удалить столько'); Halt; end;
  loop L do S.Pop; Write('Удалено: '); S.Println;
  loop L do S.Push(ReadInteger('Добавить в стек:'));
  Write('Получен стек: '); S.Println;
end.
0
1253 / 659 / 317
Регистрация: 07.04.2017
Сообщений: 2,785
03.04.2019, 14:28 3
Цитата Сообщение от JuriiMW Посмотреть сообщение
S.Count(v->odd(v)) = 0
Если нечётных несколько - это выражение будет считаться очень не эффективно.

Лучше так:
Pascal
1
not S.Any(v->v.IsOdd)
.Any перестаёт выполнятся когда найден первый элемент удовлетворяющий условию, в отличии от .Count.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2019, 14:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Реализация линейного списка и основных алгоритмов его обработки
Составить программу, которая на основе заданного списка формирует два других, помещая в первый из...

Реализация линейного списка и основных алгоритмов его обработки
Обязательно должно быть реализовано выполнение следующих функций: • добавления элемента в конец,...

Реализация основных алгоритмов сортировки динамических массивов
Массив заполняется произвольно. Количество элементов массива произвольное (не менее 10 для...

Создание стека С++ и реализация основных для него функций
Доброго времени суток.Нужна консольная программа,которая создаст стек с элементом-символьной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.