2 / 2 / 0
Регистрация: 13.05.2018
Сообщений: 15
1

Обратный элемент в последовательности чисел

14.04.2021, 20:01. Показов 440. Ответов 1

Author24 — интернет-сервис помощи студентам
Здраствуйте. Итак, есть произведение чисел вида x0, x1, x2, … и им обратных в хаотическом порядке. При помощи применения соотношений группы, нужно привести его к следующей форме. Положительные числа должны идти в начале в порядке возрастания индексов, а отрицательные — в конце, в порядке убывания индексов. Сам алгоритм похож на алгоритмы сортировки.

Если мы видим подслово вида x(j)x(i), где j > i, то заменяем его на x(i)x(j+1).

Подслово вида x(i)^{-1}x(j)^{-1} заменяется на x(j+1)^{-1}x(i)^{-1}.

Если встретилось произведение отрицательной буквы на положительную, то возможны три подслучая:

x(i)^{-1}x(i) сокращается;

x(j)^{-1}x(i) заменяется на x(i)x(j+1)^{-1} при i < j

x(i)^{-1}x(j) заменяется на x(j+1)x(i)^{-1} при i < j.

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

x(0)x(2)x(2)x(5)x(7)x(5)^{-1}x^5^{-1}x(1)^{-1}.

Мой вопрос такой: Как в паскале реализовать обратные элементы последовательности описаной выше. Есть следующая идея. Например, в виде пары (i,k), где i=0,1,2,…, k=1 или -1. Первое означает x(i), второе x(i)^{-1}

Как например в данной программе добавить этот обратный элемент. Конечно в данном примере он ни на что не влияет, но просто показать как он смотрится в коде очень помогло бы.

Заранее спасибо

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const n = 6;  {Заводим константу, это будет длина массива}
var i, j, k :integer;
m:array[1..n] of integer;
begin
 
 
Writeln('Введите массив:');
for i:=1 to n do begin
  Writeln(i, ' элемент:'); 
  Readln(m[i]);
end;
 
 
for i:=1 to n-1 do begin
  
  for j:=1 to n-i do begin
    if m[j]>m[j+1] then begin
      k:=m[j];
      m[j]:=m[j+1];
      m[j+1]:=k+1;
    end;
  end;
end;
for i:=1 to n do
Write(m[i], ' ');
 
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2021, 20:01
Ответы с готовыми решениями:

Поменять порядок расположения чисел в последовательности на обратный
Даны целые числа а1,....,an. Поменять порядок расположения чисел в последовательности на обратный.

Поменять порядок расположения чисел в последовательности на обратный
Даны целые числа а1,...,an. Поменять порядок расположения чисел в последовательности на обратный.

Найти минимальный элемент последовательности из 10 чисел, парный элемент которой вычисляется по формуле
Найти минимальный элемент последовательности из 10 чисел, четный элемент которой вычисляется по...

В заданной последовательности целых чисел найти максимально длинную подпоследовательность чисел такую, что каждый последующий элемент
В заданной последовательности целых чисел найти максимально длинную подпоследовательность чисел...

1
2304 / 1416 / 515
Регистрация: 07.04.2017
Сообщений: 4,715
15.04.2021, 20:10 2
Цитата Сообщение от Kvothe Bloodles Посмотреть сообщение
Как в паскале реализовать обратные элементы последовательности описаной выше
Элементы обязательно целые как у вас? По моему по заданию больший смысл имели бы вещественные числа.
Вещественные можно было бы никак не представлять, а так и присваивать, m[i] := 1/m[i];.

Ну а когда вам надо представить данные определённого вида - надо вводить новый тип данных. В данном случае подходит обычная и самая простая запись:
Pascal
1
2
3
4
5
6
7
8
9
10
11
type
  InversableInteger = record
    val: integer;
    is_inversed: boolean;
    
    constructor({ToDo});
    begin
      //ToDo
    end;
    
  end;
Pascal
1
var m: array of InversableInteger;
0
15.04.2021, 20:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2021, 20:10
Помогаю со студенческими работами здесь

Найти максимальный элемент в последовательности чисел
program nam1; var i,n,j:integer; max, a:real; begin readln(n); {вводим количество элементов}...

Найти N-й элемент последовательности чисел Фибоначчи
Описать функцию Fib(N) целого типа, вычисляющую N-й элемент последовательности чисел Фибоначчи FK,...

Максимальный и минимальный элемент в заданной последовательности чисел
В заданной конечной последовательности целых чисел найти минимальный и максимальный элементы и...

Рекурсивно найти N-й элемент последовательности чисел Фибоначчи
Подскажите, пожалуйста, как написать такую простенькую программу: Описать рекурсивную функцию...

Найти минимальный элемент в последовательности целых чисел
Дана последовательность из n целых чисел. Найти минимальный элемент в этой последовательности. Как...

Определить предпоследний отрицательный элемент в последовательности чисел
Определить предпоследнее отрицательный элемент в заданном числе. БЕЗ использования массива...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru