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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2010, 11:44   #1
TuuuZ
Пользователь
 
Регистрация: 28.12.2009
Сообщений: 27
По умолчанию Paskal вставка элементов в массив

нужно вставить элемент в массив после 1-ого max числа.
q - номер max
1) первые q - элементы массива остаются без изменений
2) все элементы после q+1 нужно сдвинуть на одну позицию в право
3) на место q+1 записать const =100
TuuuZ вне форума Ответить с цитированием
Старый 16.01.2010, 11:54   #2
TuuuZ
Пользователь
 
Регистрация: 28.12.2009
Сообщений: 27
По умолчанию

program dfds;
const
b=100;
type mas=array[1..20] of integer;
var a:mas; k,i,n:integer;

function maxim(x:integer;a:mas):integer;
var k,max,imax,q:integer;
begin
max:=a[1];
imax:=1;
for i:=2 to n do begin
if a[i]>max then max:=a[i];
imax:=i;
end;
q:=imax;
end;

procedure sdvig(n,q:integer; var a:mas);
var i:integer;
begin
for i:=q+1 to n do begin
a[i]:=a[i+1];
procedure inst(x:integer; a:mas);
var a:mas; i:integer;
begin
for i:=1 to x do
a[i+1]:=b;
end;

procedure print(x:integer; a:mas);
var i:integer;
begin
for i:=1 to x do
write(a[i],' ' );
writeln;
end;
begin
writeln('BBegu n');
readln(n);
k:=maxim(x,a);
sdvig(n,q,a);
inst(x,a);
print(i+1,a);
end.

проверьте плиз так ли
TuuuZ вне форума Ответить с цитированием
Старый 16.01.2010, 12:07   #3
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

Программа неверна. Функции совершенно неправильно определены.

Последний раз редактировалось Serebro; 16.01.2010 в 12:09.
Serebro вне форума Ответить с цитированием
Старый 16.01.2010, 12:11   #4
TuuuZ
Пользователь
 
Регистрация: 28.12.2009
Сообщений: 27
По умолчанию

Serebro
и как ее написать, помоги
TuuuZ вне форума Ответить с цитированием
Старый 16.01.2010, 12:20   #5
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

Кажется, что так (давно не пишу на PASCAL)
Код:
program dfds;
const
n=20
b=100;
type mas=array[1..n+1] of integer;
var a:mas; k,i:integer;

function maxim(a:mas):integer;
var i,max,imax:integer;
begin
max:=a[1];
imax:=1;
for i:=2 to n do
begin
  if a[i]>max then
  begin
    max:=a[i];
    imax:=i;
  end;
end;
maxim:=imax;
end;

procedure sdvig(n,q:integer; var a:mas);
var i:integer;
begin
for i:=n downto q do 
a[i+1]:=a[i];
end;

procedure inst(x:integer; a:mas);
var a:mas;
begin
a[x]:=b;
end;

procedure print(a:mas);
var i:integer;
begin
for i:=1 to n+1 do
write(a[i],' ' );
writeln;
end;

begin
writeln('BBegu n');
readln(n);

Здесь нужно ввести массив a(i)


k:=maxim(a);
sdvig(n,k,a);
inst(k,a);
print(a);
end.

Последний раз редактировалось Serebro; 16.01.2010 в 12:23.
Serebro вне форума Ответить с цитированием
Старый 16.01.2010, 12:26   #6
TuuuZ
Пользователь
 
Регистрация: 28.12.2009
Сообщений: 27
По умолчанию

благодарю)
TuuuZ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Целочисленный массив - Paskal irrm Помощь студентам 0 22.12.2009 19:25
Вставка элементов в массив (помогите с алгоритмом) Mclaren Помощь студентам 1 10.11.2009 17:21
Paskal Двумерный массив JohnOtto Помощь студентам 1 14.05.2009 20:31
Дан массив из N элементов (чисел),определить количество элементов кратных 3. Woha Общие вопросы C/C++ 2 08.12.2008 13:12