Как вывести массив в обратном порядке паскаль
Перейти к содержимому

Как вывести массив в обратном порядке паскаль

  • автор:

Записать элементы массива в обратном порядке

Добавлено через 15 секунд
помогите решить вообще нечего понять не могу.

Записать элементы массива в обратном порядке
Записать елементы массива А(n) в обратном порядке ПОМОГИТЕ РЕШИТЬ)))).

Элементы массива задаются с помощью датчика случайных чисел. Вывести элементы массива на экран в обратном порядке.
решите пожалуйста Дан одномерный массив a1. an, состоящий из 17 целых чисел. Элементы.

Записать элементы каждого столбца матрицы в обратном порядке
26 L(5,6) Записать элементы каждого столбца матрицы в обратном порядке.

Записать элементы каждого столбца матрицы в обратном порядке
вот еще перечень (вроде не сложных задач)..прошу помочь! 1)Записать элементы каждого столбца.

Array7. Решебник Абрамяна М. Э.

Array7. Дан массив размера N. Вывести его элементы в обратном порядке.

Array7. Решебник Абрамяна М. Э. : 14 комментариев

Короче тут решение на с++ нету.полное дерьмо

Андрей, решение на С++ добавили. Спасибо за отзыв. Отрицательные отзывы мы тоже рассматриваем

Дерьмо у тебя в голове! Учись сам решать, тут тебе не обязаны!

Добавьте решение Intellij Idea

/*java*/
// Array7. Дан массив размера N. Вывести его элементы в обратном порядке.
import java.util.Scanner;
public class Main <
public static void main(String[] args) <
Scanner in = new Scanner( System.in );
int N = in.nextInt();
int[] arr = new int[N];

не правильно решено

#include
#include
using namespace std;

cout << "Enter values of arr:" << endl;
for(int i=0; i > arr[i];

Как вывести массив в обратном порядке паскаль

Перевернуть массив

Перевернуть массив

Дан исходный массив, состоящий из n элементов. Необходимо сначала ввести элементы массива , а затем перевернуть массив и вывести результат на экран.

Разбираемся. Что вообще значит перевернуть массив? Это значит, что первый элемент массива надо поменять местами с последним, второй с предпоследним и т.д. Рассмотрим 2 случая: массив имеет четное количество элементов и массив имеет нечетное количество элементов. В первом случае все просто: имея массив от 1 до n последовательно меняем 1 с n , 2 с n-1, 3 с -3 и т.д. элементы массива. В результате будет выполнено n/2 шагов цикла. Во втором случае все также, но появляется ситуация, когда элемент нечетного массива, находящийся посередине меняется сам с собой (всего происходит n/2+1 шагов цикла). Однако нам нужна ситуация, когда в обоих случаях будет сделано n/2 шагов. Можно сделать это, использовав условный оператор, но можно поступить проще и воспользоватся оператором div.

Обратите внимание на эту строчку (p — шаги цикла ). Если n равен 4, то будет сделано 2 шага цикла, если же n равен 5, то шагов будет опять 2. То, что и требовалось. А теперь весь код программы

const
n = 5;

var
m, p: integer;
s: array [1..n] of real;
k: real;

begin
writeln(‘Введите последовательно через пробел ‘, n, ‘ элементов массива’);
for m := 1 to n do
read(s[m]);

p := n div 2;
writeln(p);
for m := 1 to p do
begin
k := s[m];
s[m] := s[n + 1 — m];
s[n + 1 — m] := k;
end;
writeln(‘Перевернутый массив’);
for m := 1 to n do
write(s[m]);

end.

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

5 Replies to “Перевернуть массив”

а я бы от так сделал)

uses crt;
const n = 5;
var
m, p: integer;
s,s2: array [1..n] of real;
k: real;

begin
clrscr;
writeln(‘Vvedite posledovatelno cherez probel ‘, n, ‘ elementov massiva’);
for m := 1 to n do
read(s[m]);
writeln(‘Perevernutyi massiv’);
for m := n downto 1 do
begin
s2[abs(m-n-1)]:=s[m];
write(s2[abs(m-n-1)]:2:0);
end;
readkey;
end.

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

TempB := b[n];
for k:=n-1 downto 1 do
b[k+1] := b[k];
b[1] := TempB;

а если так. winked

][omak,
Можно и так
Просто, как я уже сказал, мой вариант ориаентирован на меньшее колличество шагов цикла

Как вывести массив в обратном порядке паскаль

Массив – это поименованная совокупность однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве.

Массив в языке Pascal – это набор однотипных данных, причём количество этих данных фиксировано и определяется при описании массива. Все переменные, входящие в массив, имеют одно и то же имя – имя массива, а различаются они по индексу – номеру (месту) в массиве.

Массив Result :

Массив Season :

Описание массива

Описание массива выглядит так:

array [<тип индекса>] of <тип компонент>

array и of – служебные слова («массив» и «из»);

• <тип индекса> – описание индексации компонент (элементов) массива;

• <тип компонент> – тип величин, составляющих массив.

Запишите описание массива, ориентируясь на его назначение.

Массив для записи температуры (целое число) каждого дня года.

var Day: array [1..366] of integer;

Массив для ежечасной записи температуры больного в течении суток.

var T: array [1..24] of real;

Массив для подсчета частоты встречаемости прописных латинских букв в тексте.

var T: array [‘A’ .. ‘Z’] of longint;

Массив с фамилиями учащихся 11-го класса (всего 25 учащихся).

var Name: array [1 .. n] of string;

Типовые задачи обработки одномерных массивов

— Поиск элементов с заданными свойствами

— Поиск максимумов и минимумов

— Подсчёт элементов, удовлетворяющих условию

— Проверка массива на упорядоченность

— Удаление из массива элемента с индексом k

— Вставка в массив элемента на место с индексом k

— Перестановка элементов в обратном порядке

— Сортировка массива. Метод «пузырька»

Последовательный поиск в неупорядоченном массиве

Пример 3. Имеется массив A [1..n]. Найти элемент массива, равный p.

В алгоритмах поиска существует два возможных варианта окончания их работы: поиск может оказаться удачным – заданный элемент найден в массиве и определено его месторасположение, либо поиск может оказаться неудачным – необходимого элемента в данном объёме информации нет.

Возможный алгоритм решения:

1. Установить i = 1.

2. Если A [i] = p, алгоритм завершил работу успешно.

3. Увеличить i на 1.

4. Если i ≤ n, то перейти к шагу 2. В противном случае алгоритм завершил работу безуспешно.

var A: array [1..n] of integer;
i, p: integer;
begin

writeln (‘Ввод значений элементов массива:’);

for i := 1 to n do
read (A[i]);

write (‘ Ввод p: ‘);
readln (p);

while (i<=n) and (A[i]<>p) do
i:=i+1;

if i=n+1 then writeln (‘ Искомого элемента в массиве нет ‘)
else writeln (‘ Искомый элемент A[‘, i, ‘] = ‘, A[i])
end.

Поиск максимумов и минимумов

Пример 4. Имеется массив A [1..n]. Найти элемент массива с наименьшим значением.

Алгоритм поиска элемента с наименьшим значением в неупорядоченном массиве:

1. Установить значение текущего минимума равным первому исследуемому элементу.

2. Установить счетчик равным 2.

3. Если исследованы ещё не все элементы (i<=n), то перейти к шагу 4, иначе алгоритм окончен (минимальный элемент равен m in ).

4. Если рассматриваемый элемент меньше, чем текущий минимум, то минимуму присвоить значение текущего элемента.

5. Перейти к следующему элементу (увеличить i на единицу).

6. Перейти к шагу 3 .

Программа :

const n=5;
var A: array [1..n] of integer;
i, min: integer;

writeln (‘ Ввод значений элементов массива :’);
for i := 1 to n do
read (A[i]);

while (i<=n) do
begin

if A[i] < min then min := A[i];

end ;
writeln (‘ Минимум =’, min)
end.

Подсчёт элементов массива, удовлетворяющих некоторому условию

Зачастую бывает важно выяснить, сколько элементов, обладающих определённым свойством, содержится в массиве.

Пример 5. Имеется массив A [1..n]. Подсчитать количество элементов массива кратных некоторому числу p .

Алгоритм решения :

1. Присвоить нулевое значение переменной (счётчику), введённой для подсчёта количества элементов, удовлетворяющих заданному условию.

2. Организовать просмотр всех элементов массива: если просматриваемый элемент удовлетворяет заданному условию, значение счётчика увеличивать на 1.

Программа :

const n=5;
var A: array [1..n] of integer;
i, p, k: integer;

writeln (‘Ввод значений элементов массива:’);

for i := 1 to n do
read (A[i]);

writeln (‘ Ввод числа р :’);
readln (p);

for i := 1 to n do

if A[i] mod p = 0 then k := k + 1;

writeln (‘k=’, k)
end.

Проверка массива на упорядоченность

Пример 7. Имеется массив A [1..n]. Определить, упорядочены ли элементы массива по неубыванию, т. е. каждый элемент массива с 1-го по (n – 1)-й не больше последующего.

Алгоритм решения

Самый простой путь решения этой задачи – проверить, есть ли в массиве такие пары элементов, что A [i] > A [i + 1]. Если подобные пары элементов есть, то массив не упорядочен по неубыванию, а если таких пар нет, то – упорядочен.

В программе будем использовать логическую переменную flag:

• если flag = true, то массив упорядочен;

• если flag = false, то массив неупорядочен.

Программа :

const n=5;
var A: array [1..n] of integer;
i: integer; flag: boolean;

writeln (‘Ввод значений элементов массива:’);

for i := 1 to n do
read (A[i]);

for i := 1 to n-1 do
if
a[i]>a[i+1] then flag:=false;

if flag then writeln (‘ упорядочен ‘)
else writeln (‘ неупорядочен ‘)

Удаление из массива элемента с индексом k

Пример 8. Имеется массив a[1..n]. Удалить элемент с индексом k .

При удалении из массива любого из элементов размерность массива уменьшается на 1.

Мы видим, что элементы с индексами от 1 до k – 1 не изменились.

На место элемента с индексом k (6) переместился элемент, имевший индекс k + 1 (7), на место элемента с индексом k + 1 (8) переместился элемент, имевший индекс k + 2 (8) и т. д.

Фрагмент программы удаления из массива элемента с индексом k и последующим сдвигом всех расположенных справа от него элементов на одну позицию влево имеет вид:

for i := k to n-1 do
A[i] := A[i+1];

Программа :

const n=10;
var A: array [1..n] of integer;
i, k: integer;

writeln (‘ Ввод значений элементов массива :’);
for i := 1 to n do
read (a[i]);

write (‘ Ввод индекса k: ‘);
readln (k);

for i := k to n-1
do A[i] := A[i+1];

writeln(‘ Массив после обработки :’);
for i := 1 to n -1 do
write (A[i], ‘ ‘)
end.

Вставка элемента на место с индексом k

Пример 9. Добавить в массив элемент Х на место с индексом k .

При вставке в массив ещё одного элемента размерность массива увеличивается на 1. Это надо учесть при описании массива.

Элементы с индексами от 1 до k – 1 не изменились.

На место элемента с индексом k (6) должен переместиться элемент, имевший индекс k + 1 (7), на место элемента с индексом k + 1 (8) –элемент, имевший индекс k + 2 (8) и т. д.

Поскольку при присваивании нового значения элементу старое пропадает, замену надо производить с конца. После чего заменить значение элемента с индексом k .

for i :=n downto k+1 do A[i] := A[i-1];

Программа :

const n=10;
var A: array [1..n] of integer;
i, k, X: integer;
begin

writeln (‘ Ввод значений элементов массива :’);
for i := 1 to n-1 do
read (A[i]);

write (‘ Ввод индекса k: ‘); readln (k);

write (‘Ввод числа Х: ‘); readln (X);

for i:=n downto k+1 do
A[i] := A[i-1];
A[k] := X;

writeln(‘Массив после обработки: ‘ );
for i:=1 to n do
write (A[i], ‘ ‘)

Перестановка всех элементов массива в обратном порядке

Пример 10. Имеется массив A [1..n].

Перевернуть его, т.е. что поменять местами 1-й и последний элементы, 2-й и предпоследний и т. д.

В общем случае, меняются местами элементы A [i] и A [ n i + 1 ].

Вспомним. как можно произвести обмен значений между двумя переменными. Самый простой вариант – использование вспомогательной переменной:

Фрагмент программы по перестановке в обратном порядке всех элементов массива:

for i := 1 to n div 2 do
begin
R := A[i];
A[i] := A[n-i+1];
A[n-i+1] := R

Программа :

const n=7;
var A: array [1..n] of integer;
i, r: integer;
begin

writeln (‘ Ввод значений элементов массива :’);
for i := 1 to n do
read (A[i]);

for i := 1 to n div 2 do
begin
R := A[i];
A[i] := A[n-i+1];
A[n-i+1] := R
end;

writeln (‘ Массив после обработки :’);
for i := 1 to n do write (A[i], ‘ ‘)
end.

Сортировка массива

Сортировка – это распределение элементов массива в соответст­вии с определёнными правилами.

Существует 2 вида сортировки:

Сортировка методом «пузырька»

Своё название алгоритм получил благодаря следующей ассоциации: если сортировать этим алгоритмом массив по неубыванию, то максимальный элемент «тонет», а «лёгкие» элементы поднимаются на одну позицию к началу массива на каждом шаге алгоритма.

Пусть n– количество элементов в неупорядоченном массиве.

1. Поместим на место n-го элемента наибольший элемент массива. Для этого:

1) положим i = 1;

2) пока не обработана последняя пара элементов: сравниваем i-й и (i + 1)-й элементы массива; если A [i] > A [i + 1] (элементы расположены не по порядку), то меняем элементы местами; переходим к следующей паре элементов, сдвинувшись на один элемент вправо.

2. Повторяем пункт 1, каждый раз уменьшая размерность неупорядоченного массива на 1, до тех пор, пока не будет обработан массив из одной пары элементов (таким образом, на k-м просмотре будут сравниваться первые (n – k) элементов со своими соседями справа).

for k := n-1 downto 1 do

for i := 1 to k do

If A[i] > A[i+1] then

begin R := A[i]; A[i] := A[i+1]; A[i+1] := R end;

Сортировка выбором

Сортировка выбором (в порядке неубывания) осуществляется следующим образом:

1. В массиве выбирается минимальный элемент.

2. Минимальный и первый элементы меняются местами (первый элемент считается отсортированным).

3. В неотсортированной части массива снова выбирается минимальный элемент и меняется местами с первым неотсортированным элементом массива.

4. Действия, в пункте 3, повторяются с неотсортированными элементами массива до тех пор, пока не останется один неотсортированный элемент (его значение будет максимальным).

5. Программа :

Пример 10. Отсортировать массив A [1..n] по возрастанию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *