Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
denis2010
3 / 3 / 0
Регистрация: 25.11.2009
Сообщений: 30
1

Поменять местами отрезки массива

03.02.2010, 16:18. Просмотров 1048. Ответов 1
Метки нет (Все метки)

Есть массив состоящий из n элементов.Массив разделили на 2 неравных отрезка(не сказано какой из них больше).Количество элементов в первом отрезке - m.
Как поменять отрезки местами(второй отрезок в начало,а первый на место второго) без использования доп массива?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2010, 16:18
Ответы с готовыми решениями:

Поменять отрезки местами без использования дополнительного массива
Есть массив состоящий из n элементов.Массив разделили на 2 неравных отрезка(не...

Поменять местами 5 и 10 элементы массива
срочно помогите с задачей Поменять местами 5 и 10 элементы массива.

Поменять местами элементы массива
Массив заполнен случайными целыми числами из диапазона . Составить процедуру...

Поменять местами элементы массива
поменять местами k-й и l-й столбцы данного массива А(m,n).

Поменять местами элементы массива попарно
Дан числовой массив (его нужно ввести) поменять местами элементы массива...

1
Puporev
Модератор
54719 / 42124 / 29087
Регистрация: 18.05.2008
Сообщений: 99,437
03.02.2010, 17:47 2
Лучший ответ Сообщение было отмечено denis2010 как решение

Решение

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
const max=100;
var a:array[1..max] of integer;
    n,i,j,m:byte;
    x:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива n=');
readln(n);
until n in [1..max];
writeln('Исходный массив:');
for i:=1 to n do
 begin
  a[i]:=random(20)+1;
  write(a[i],' ');
 end;
writeln;
writeln;
repeat
write('Введите индекс для разделения массива от 2 до ',n-1,' m=');
readln(m);
until m in [2..n-1];
if m<n div 2 then
for i:=1 to m do
 begin
  x:=a[1];
  for j:=1 to n-1 do a[j]:=a[j+1];
  a[n]:=x;
 end
else
for i:=1 to n-m do
 begin
  x:=a[n];
  for j:=n downto 2 do a[j]:=a[j-1];
  a[1]:=x;
 end;
writeln('Перестановка частей масива:');
for i:=1 to n do
write(a[i],' ');
readln
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2010, 17:47

Поменять местами две половинки массива (1-5, 2-6, 3-7, 4-8)
Поменять местами две половинки массива (1-5, 2-6, 3-7, 4-8)

Поменять местами соседние элементы массива
Добрый день! Сформировать массив из 10 элементов: 9, 4, 3, 2, 7, 8, 3, 3, 5,...

Поменять местами две половинки массива
№1 N=16 Каждый элемент, значение которого меньше 10, заменить его квадратом. ...


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

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

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