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

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

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

Восстановить пароль

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

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

Помогите пожайлуйста
Массив заполнен случайными целыми числами из диапазона [1; 25]. Составить процедуру (или функцию), которая меняет местами i-й и j-й элементы массива. Составить процедуру (или функцию), которая удаляет k-й элемент массива (со сдвигом). Сам массив, текущее количество элементов в нем, а также введенные пользователем числа i, j и k передаются в процедуры (или функции) в качестве параметров. Выводить массив на экран следует отдельной процедурой.

program Project1;
uses
SysUtils;
type
MyArr=array[1..10000]of integer;
var
a:MyArr;
max,k,i,j:integer;

procedure Writing(var a:MyArr; const max:integer);
var
i:integer;
begin
for i:=1 to max do
a[i]:=1+random(25);
end;

procedure Print(a:MyArr; max:integer);
var
i:integer;
begin
writeln('Array:');
write('[ ');
for i:=1 to max do
write(a[i],' ');
writeln(']')
end;

procedure Del(var a:MyArr; var max:integer; const k:integer);
var
i:integer;
begin
if k>max then
begin
writeln('k>max!');
exit
end;
for i:=k to max-1 do
a[i]:=a[i+1];
dec(max);
end;

procedure Replace(var a:MyArr; const i,j:integer);
var
temp:integer;
begin
if (i>max) or (j>max) then
writeln('i>max or j>max!')
else
if i=j then
writeln('i=j!')
else
begin
temp:=a[i];
a[i]:=a[j];
a[j]:=temp
end;
end;

begin
try

except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
writeln('Enter number of elements in array...');
readln(max);
Writing(a,max);
Print(a,max);
writeln('Enter element`s number for delete...');
readln(k);
Del(a,max,k);
Print(a,max);
writeln('Enter i,j positions...');
readln(i,j);
Replace(a,i,j);
Print(a,max);
writeln('Press Enter for exit...');
readln
end.
bruNET вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедура в процедура в C++ Builder Ecosasha C++ Builder 2 06.06.2009 17:17
Массив и процедура (Турбо Паскаль) Сэм Помощь студентам 3 10.05.2009 18:43
массив tedit и процедура с ним(delphi) xbIm Помощь студентам 2 21.02.2008 23:57
Процедура () GAGARIN-NEW Помощь студентам 3 17.12.2007 21:42