Вопрос задан 29.07.2018 в 03:28. Предмет Информатика. Спрашивает Брюхова Ксения.

Помогите с программой. PascalABC.NET Ввести последовательность от 1 до 30 слов, в каждом слове от

1 до 10 латинских букв. Между соседними словами не менее одного пробела, за последним словом стоит точка. 1) вывести последовательность в обратном порядке слов 2) вывести последовательность, удалив из неё повторное включение слов. Тема новая, плохо разбераюсь. Прошу помощи. Заранее спасибо.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Осадченко Денис.
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString;
  var a:=s.Left(Pos('.',s)-1).ToWords; // все до точки, по словам
  a.Reverse.Println; // обратный порядок слов
  a.Distinct.Println // без дубликатов
end.

Пример
арбуз     барабан арбуз  вагон голова      дом арбуз. ель
арбуз дом голова вагон арбуз барабан арбуз
арбуз барабан вагон голова дом
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Добро пожаловать! Я могу помочь вам с программой на PascalABC.NET. Вам нужно ввести последовательность слов от 1 до 30, где каждое слово содержит от 1 до 10 латинских букв. Между соседними словами должен быть хотя бы один пробел, а после последнего слова должна стоять точка. У вас есть две задачи:

1) Вывести последовательность в обратном порядке слов. 2) Вывести последовательность, удалив из неё повторные включения слов.

Давайте начнем с первой задачи - вывода последовательности в обратном порядке слов. Вот пример кода, который решает эту задачу:

```pascal program ReverseSequence; var sequence: array[1..30] of string; i: integer; begin // Ввод последовательности слов writeln('Введите последовательность слов:'); for i := 1 to 30 do begin readln(sequence[i]); end;

// Вывод последовательности в обратном порядке writeln('Последовательность в обратном порядке:'); for i := 30 downto 1 do begin writeln(sequence[i]); end; end. ```

Теперь перейдем ко второй задаче - выводу последовательности, удалив из неё повторные включения слов. Вот пример кода для этой задачи:

```pascal program RemoveDuplicates; var sequence: array[1..30] of string; uniqueSequence: array[1..30] of string; i, j, uniqueCount: integer; isDuplicate: boolean; begin // Ввод последовательности слов writeln('Введите последовательность слов:'); for i := 1 to 30 do begin readln(sequence[i]); end;

// Удаление повторных включений слов uniqueCount := 0; for i := 1 to 30 do begin isDuplicate := false; for j := 1 to uniqueCount do begin if sequence[i] = uniqueSequence[j] then begin isDuplicate := true; break; end; end; if not isDuplicate then begin uniqueCount := uniqueCount + 1; uniqueSequence[uniqueCount] := sequence[i]; end; end;

// Вывод последовательности без повторных включений writeln('Последовательность без повторных включений:'); for i := 1 to uniqueCount do begin writeln(uniqueSequence[i]); end; end. ```

Надеюсь, эти примеры кода помогут вам решить задачи. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!

0 0

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

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

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