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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2009, 15:51   #1
pavel42
Пользователь
 
Регистрация: 06.04.2009
Сообщений: 95
По умолчанию Удалить элемент массива

задача:
Удалить первый положительный элемент больший заданного числа.
pavel42 вне форума Ответить с цитированием
Старый 13.05.2009, 15:54   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.05.2009, 15:56   #3
Dirt
Пользователь
 
Регистрация: 28.03.2009
Сообщений: 60
По умолчанию

привет.
Ну вы сами хоть что то начали делать?
Dirt вне форума Ответить с цитированием
Старый 13.05.2009, 15:57   #4
pavel42
Пользователь
 
Регистрация: 06.04.2009
Сообщений: 95
По умолчанию

я знаю как найти первый положительны...а вот как его удалить не знаю )) вот как удалить его мне и надо )
pavel42 вне форума Ответить с цитированием
Старый 13.05.2009, 16:00   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

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

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.05.2009, 16:13   #6
pavel42
Пользователь
 
Регистрация: 06.04.2009
Сообщений: 95
По умолчанию

Код:
program zadacha6;
uses crt;
type mass=array[1..50] of integer;
var x,a:mass; i,j,n,k:integer;
procedure massiv(var n:integer; var x:mass);
          begin
          write('vvedite koli4estvo elementov n=');
          readln(n);
          for i:=1 to n do
          begin
          x[i]:=-random(10)+5;
          writeln(x[i]);
          end;
          end;

procedure Delete(n:integer; x:mass; var k:integer; var a:mass);
          begin
          write('zadannoe 4islo k=');
          readln(k);
          if (x[i]>0) and (x[i]>k) then
          begin
          j:=0;
          for i:=k+1 to n do
          begin
          j:=j+1;
          a[j]:=x[i];
          end;
          j:=0;
          for i:=k to n-1 do
          begin
          j:=j+1;
          x[i]:=a[j];
          end;
          writeln('new massiv');
          for i:=1 to n-1 do write(x[i]:2);
          end;
          end;
begin
clrscr;
randomize;
massiv(n,x);
delete(n,x,k,a);
readln
end.
наверное я что то недопонял )))))))

Последний раз редактировалось pavel42; 13.05.2009 в 16:16.
pavel42 вне форума Ответить с цитированием
Старый 13.05.2009, 16:23   #7
pavel42
Пользователь
 
Регистрация: 06.04.2009
Сообщений: 95
По умолчанию

получилось что он удаляет число которое стоит на месте k=............тоесть К который я ввожу это номер того который надо удалить )))))))
pavel42 вне форума Ответить с цитированием
Старый 13.05.2009, 16:34   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
program zadacha6;
uses crt;
type mass=array[1..50] of integer;

var a:mass;
n : integer;

procedure massiv(var n:integer; var x:mass);
var  i : integer;
begin
write('vvedite koli4estvo elementov n=');
readln(n);
for i:=1 to n do
 begin
  x[i]:=random(10)-5;
  write(x[i]:4);
 end;
 writeln;
end;

procedure delete(var A : mass; var n : integer);
var
k,i,t : integer;
begin
write('Zadannoe chislo: ');
readln(k);
t := -1;
for i:=1 to n do
 if (A[i]>0) and (A[i]>k) then
  begin
  t := i;
  break;
  end;

if t = -1 then writeln('Net takih')
else
 begin
 dec(n);
 for i:=t to n do
  A[i] := A[i+1];
 end;

{ выводим }
writeln;
for i:=1 to n do
 write(A[i]:4);

end;

begin
clrscr;
randomize;
massiv(n,a);
delete(a,n);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 13.05.2009, 16:37   #9
pavel42
Пользователь
 
Регистрация: 06.04.2009
Сообщений: 95
По умолчанию

спасибо большое ))))))))))

скажите чем тут являеться t

Последний раз редактировалось Stilet; 21.05.2009 в 08:55.
pavel42 вне форума Ответить с цитированием
Старый 17.05.2009, 11:38   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от pavel42
скажите чем тут являеться t
Хранит индекс "заданного числа" в массиве. То есть, элемент с этим индексом будет удален.
Если t = -1, это значит, что такого элемента в массиве нет.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

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


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти 3-ий по величине элемент массива.. PavelZet Помощь студентам 10 07.05.2009 21:06
удалить максимальный элемент из квадратной матрицы rev1ver Паскаль, Turbo Pascal, PascalABC.NET 6 20.01.2009 15:31
Максимальный элемент массива j_Q Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 04.11.2008 22:48
помогите удалить элемент из связанного списка kermit Помощь студентам 5 13.06.2008 10:14
В каждой строке массива выбирается максимальный элемент sergeyfsd Общие вопросы Delphi 2 13.05.2008 00:10