Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2010, 00:03   #1
loldfox
Новичок
Джуниор
 
Регистрация: 25.11.2010
Сообщений: 1
По умолчанию Программа по одномерным массивам

Задача такова:
Записать элементы массива X=(X1,X2,...,X15) в массив Y=(Y1,Y2,...,Y15), сдвинув элементы массива Х влево на 4 позиции. При этом 4 элемента, стоящие в начале массива Х, перемещаются в конец: (Y1,Y2,...,Y15) = (X5,X6,...,X15,X1,X2,X3,X4). Поменять местами минимум и максимум элемента массива Y.

Помогите пожалуйста. Я теряюсь в этой проге
loldfox вне форума Ответить с цитированием
Старый 26.11.2010, 07:00   #2
Зелёный
Пользователь
 
Регистрация: 26.11.2010
Сообщений: 29
По умолчанию

А какой язык?
Зелёный вне форума Ответить с цитированием
Старый 26.11.2010, 09:02   #3
sllh_111
Форумчанин
 
Регистрация: 10.02.2010
Сообщений: 137
По умолчанию

бедем считать что язык - Паскаль.

Код:
//------------------------------------------------------------------
procedure print(arr : array of integer; size : integer);
var
   i : integer;
begin
     dec(size);
     for i := 0 to size do Write(arr[i], ' ');
     WriteLn();
end;

//------------------------------------------------------------------
procedure circular_shift(src : array of integer; var dest : array of integer; step, size : integer);
var
   i : integer;
begin
         for i := 0 to size-1 do dest[i] := src[(i + step) mod size];
end;

//------------------------------------------------------------------
procedure swap_max_min(var dest : array of integer; size : integer);
var
   i, max_index, min_index : integer;
begin
     dec(size);
     max_index := 0;
     min_index := 0;

     for i := 1 to size do
     begin
        if dest[min_index] >= dest[i] then min_index := i;
        if dest[max_index] <= dest[i] then max_index := i;
     end;

     i := dest[max_index];
     dest[max_index] := dest[min_index];
     dest[min_index] := i;

end;
//------------------------------------------------------------------
var
   X : array[1..15] of integer = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
   Y : array[1..15] of integer = (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
begin
     WriteLn('Before: ');

     Write('X: ');
     print(X, 15);
     Write('Y: ');
     print(Y, 15);

     circular_shift(X, Y, 4, 15);

     WriteLn('After: ');
     Write('X: ');
     print(X, 15);
     Write('Y: ');
     print(Y, 15);

     WriteLn('X, after swap max and min: ');
     swap_max_min(X, 15);
     print(X, 15);

     ReadLn();
end.
с тебя положительный отзыв(иконка весов там где информация о профиле)

Последний раз редактировалось Stilet; 26.11.2010 в 09:29.
sllh_111 вне форума Ответить с цитированием
Старый 26.11.2010, 09:28   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
MODULE mas;
IMPORT StdLog;
VAR x,y:ARRAY(15) OF INTEGER;
 i:INTEGER;

PROCEDURE inn;
BEGIN
 FOR i:=0 TO LEN(x)-1 DO
  x[i]:=i*2;
  StdLog.Int(x[i]);StdLog.Ln;
 END;
 StdLog.Ln;
END inn;

PROCEDURE rot(k:INTEGER);
VAR j:INTEGER;
BEGIN
 i:=k;
 FOR j:=0 TO LEN(x)-1 DO
  y[j]:=x[(i+j) MOD LEN(x)];
  StdLog.Int(y[j]);StdLog.Ln;
 END;
END rot;

PROCEDURE do*;BEGIN StdLog.Clear; inn;rot(4);END do;

END mas.
mas.do;
Ну уж максимум и минимум ты сам поменяй - это раз плюнуть то
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
по паскалю по одномерным массивам zizu Помощь студентам 10 16.12.2009 00:43
Задача по одномерным массивам(паскаль) pupik100 Помощь студентам 2 23.10.2009 16:32
Delphi. Задачка по одномерным массивам. deni3x Помощь студентам 16 10.10.2009 18:42
Задача к одномерным массивам. kry Паскаль, Turbo Pascal, PascalABC.NET 2 29.12.2008 09:57