Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Anastasiya_1692
1 / 1 / 4
Регистрация: 30.12.2009
Сообщений: 53
1

Рекурсивный сдвиг массива

31.12.2009, 17:02. Просмотров 911. Ответов 1
Метки нет (Все метки)

Доброго времени суток!!!

Помогите пожалуйста!!!

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

Составить программу используя рекурсивную функцию.

Могу написать прогу без реккурсии:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
var k,i,y:integer;
A: array [1..10] of real;
Procedure SDVIG( m : integer);
Var P : real;
begin
for i := 1 to m do
begin P := A [ 1 ] ;
for y := 1 to 9 do A[ y ] := A [ y+1] ;
A [10] := P ;
end ;
end;
 
begin
clrscr;
writeln ('Vvedite massiv iz 10 chisel:');
for i:=1 to 10 do read (a [i]);
write ('Veddite chislo pozicij sdviga: ');
readln (k);
Sdvig(k);
for i:=1 to 10 do write (a[i],' ');
end.
А как эту процедуру (или переделать в ф-цию) сделать реккурсивной?!!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2009, 17:02
Ответы с готовыми решениями:

Рекурсивный вывод массива
Написать программу, осуществляющую вывод массива на экран с помощью рекурсии.

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

Сдвиг элементов массива
Создать программу, сдвигающую элементы k-го слоя целочисленного прямоугольного массива matrix на p...

Сдвиг массива по кольцу
Пример: Исходный массив: A{1 2 3 4 5} Получившийся массив: A{4 5 1 2 3} Спасибо...

Сдвиг массива по рисунку
Нужно сдвинуть двумерный массив на k позиций по этой схеме:

1
Inadequate
Retired
7715 / 2547 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
31.12.2009, 17:26 2
У Вас написана какая-то глупость... Вот написал заново
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
type
  MyArr=array [1..1000] of integer;
var
  a:MyArr;
  i,k,n:integer;
{ïðîöåëóðà ñäâèãà}
procedure P(var a:MyArr; var n,k:integer);
var
  i,temp:integer;
begin
  if k<>0 then
  begin
    temp:=a[1];
    for i:=1 to n-1 do
      a[i]:=a[i+1];
    a[n]:=temp;
    Dec(k);
    P(a,n,k)
  end
end;
{îñíîâíàÿ ïðîãðàììà}
begin
  writeln('Ââåäèòå êîëè÷åñòâî ýëåìåíòîâ ìàññèâà...');
  readln(n);
  {çàäàåì ìàññèâ}
  writeln('Èñõîäíûé ìàññèâ:');
  for i:=1 to n do
  begin
    a[i]:=random(8)-4;
    write(a[i],' ')
  end;
  writeln;
  {îñóùåñòâëÿåì ñäâèã}
  writeln('Ââåäèòå k...');
  readln(k);
  P(a,n,k);
  {âûâîäèì ìàññèâ}
  writeln('Ïîëó÷åííûé ìàññèâ:');
  for i:=1 to n do
    write(a[i],' ');
  writeln
end.
2
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2009, 17:26

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

Циклический сдвиг массива
дан массив размера n и некоторое число k&lt;n осуществить циклический сдвиг на k элементов вправо и...

Циклический сдвиг массива
Помогите плиз, буду очень благодарен Дан массив целых чисел а1, .... аn . Выполнить циклический...

Циклический сдвиг массива
Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в...


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

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

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