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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2009, 12:56   #1
GydZu
 
Регистрация: 16.03.2009
Сообщений: 9
По умолчанию Удалить первый элемент с заданным значением. Сдвинуть массив циклически на К элементов в право

Помогите пожалуйста решить задачу с использование процедуры. "Сформировать одномерный массив целых чисел, используюя генератор случайных чисел. расспечатать полученный массив.Удалить первый элемент с заданным значением. Сдвинуть массив циклически на К элементов в право".

за ранее благодарен.
GydZu вне форума Ответить с цитированием
Старый 16.05.2009, 13:06   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Чем помочь? Что не получается? Где ваши наработки?

Вот вам про сдвиг: http://programmersforum.ru/showthread.php?t=35110
Пользуйтесь поиском.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.05.2009, 13:24   #3
GydZu
 
Регистрация: 16.03.2009
Сообщений: 9
По умолчанию

я до конца в задании разобраться не могу. эту часть не проблема "формировать одномерный массив целых чисел, используюя генератор случайных чисел.расспечатать полученный массив." а вот дальше "удалить первый элемент с заданным значением." - первый элемент массива, или первый элемент в массиве который соответствует в веденному с клавы?. и "Сдвинуть массив циклически на К элементов в право" К тоже с клавы вводится? и как это все осуществить с помощью процедуры?
GydZu вне форума Ответить с цитированием
Старый 16.05.2009, 13:36   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от GydZu
а вот дальше "удалить первый элемент с заданным значением." - первый элемент массива, или первый элемент в массиве который соответствует в веденному с клавы?
Это значит с клавы вводится число. Вы его ищете в массиве и удаляете (в данном случае, просто сдвигаете все, что правее этого элемента, на 1 позицию влево. И уменьшаете на 1 размер массива).
Цитата:
и "Сдвинуть массив циклически на К элементов в право" К тоже с клавы вводится? и как это все осуществить с помощью процедуры?
Да, тоже.
Будет не одна процедура, а две (одна для удаления, вторая - для сдвига).
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.05.2009, 20:29   #5
GydZu
 
Регистрация: 16.03.2009
Сообщений: 9
По умолчанию

что то я с процедурами запутался
GydZu вне форума Ответить с цитированием
Старый 16.05.2009, 20:31   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
что то я с процедурами запутался
Каким образом? Передавайте в процедуру массив и его размер. И делайте там с ним то, что надо, как бы вы это делали в теле программы.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.05.2009, 21:39   #7
GydZu
 
Регистрация: 16.03.2009
Сообщений: 9
По умолчанию

что то не получаются процедуры. не могу удалить элемент. тело програмы написал, а процедуры не могу может с утра получится на свежую голову.
GydZu вне форума Ответить с цитированием
Старый 16.05.2009, 21:44   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
не могу удалить элемент
Пусть есть массив A размером N элементов.
И нужно удалить элемент с индексом F.
Тогда делаем так:
Код:
dec(N); { уменьшаем размер, т.к. теперь массив на 1 элемент меньше }
for i:=F to N do
 A[i] := A[i+1];
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 17.05.2009, 00:47   #9
GydZu
 
Регистрация: 16.03.2009
Сообщений: 9
По умолчанию

не получается

Program Massiv;

Const n = 10;
Type myarray = Array [1..n] Of Integer;
Var A : myarray;
s,k,i:integer;

Procedure Delete(k:Integer;Var a:myarray);
Var i,n : Integer;
Begin
dec(N);
for i:=k to N do
A[i] := A[i+1];
End;

Procedure Print1(n1: Integer; m: myarray ); {процедура вывода на экран }
Var i : Integer;
Begin
For i:=1 To n1 Do Write(m[i]:4);
Writeln;
end;
begin
randomize; writeln ('massiv M');
for i:=1 to n do
begin a[i]:=random (50)-25;
write(a[i]:4) ;
end; writeln;
writeln(' vvedi chislo kotoriy nado udalit',k);read(k);

Delete (k,A); {удаление элемента k} ;
print1(n-1,a) ;
end.
GydZu вне форума Ответить с цитированием
Старый 17.05.2009, 00:48   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от GydZu
не получается
Во-первых, код заключайте в теги CODE ("#" на панели в окне редактирования).
Во-вторых, что не получается?
Сразу бросается в глаза строчка:
Код:
Var i,n : Integer;
У вас N - размер массива. Так почему переменная локальная? Передавайте ее вместе с массивом.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить элемент массива pavel42 Помощь студентам 14 21.05.2009 08:52
Паскаль. Вставить в массив элемент со сдвигом всех остальных элементов Yulya Помощь студентам 1 31.03.2009 10:53
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент Галина002 Помощь студентам 1 18.03.2009 06:30
Вставить первую строку после строки, в которой находится первый встреченный максимальный элемент. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 4 03.12.2008 12:13
помогите удалить элемент из связанного списка kermit Помощь студентам 5 13.06.2008 10:14