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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2016, 14:10   #1
FlayGlam
Пользователь
 
Регистрация: 21.12.2015
Сообщений: 38
По умолчанию Удаление элементов из одномерного массива(PascalABCNET)

Удалить все элементы, большие данного числа А (А вводить с клавиатуры).
FlayGlam вне форума Ответить с цитированием
Старый 13.11.2016, 14:19   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
var i,j,a:integer;
    len:integer=10;
    p:array of integer;
begin
   Write('a = '); Readln(a);
   Randomize;
   SetLength(p,len);
   For i:=0 to len-1 do
   begin
      p[i]:=Random(21);
      Write(p[i]:2,'  ');
   end;
   Writeln;
   Writeln;
   i:=0;
   Repeat
      If p[i]>a then
      begin
         For j:=i to len-2 do
            p[j]:=p[j+1];
         len:=len-1;
         i:=i-1;
      end;
      i:=i+1;
   Until i>=len;
   For i:=0 to len-1 do
      Write(p[i]:2,'  ');
   Writeln;
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 14.11.2016, 22:26   #3
FlayGlam
Пользователь
 
Регистрация: 21.12.2015
Сообщений: 38
По умолчанию

А можно как-то сделать без процедуры SetLength?
FlayGlam вне форума Ответить с цитированием
Старый 15.11.2016, 10:17   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от FlayGlam Посмотреть сообщение
А можно как-то сделать без процедуры SetLength?
ну, вряд ли.
процедура SetLength устанавливает размер для динамических массивов.

Можно, наверное, вместо динамических массивов использовать статические (ну, скажем, на 1000 элементов) и хранить отдельно счётчик N - сколько элементов в массиве заполнено.
Но зачем, если в PascalABC.NET есть нормальные динамические массивы?!


вот, смотрите:
Код:
const
  MaxLen=10;
var i, j, A, n:integer;
    p:array[0..MaxLen-1] of integer;
begin
   Write('A = '); Readln(A);
   Randomize;
   n:=MaxLen;
   For i:=0 to n-1 do begin
     p[i]:=Random(21);
     Write(p[i]:2,'  ')
   end;  
   WriteLn;
   
   // Удаление из массива всех больше A - точнее, оставляем все элементы, которые меньше или равны A
   j := 0;
   for i := 0 to n - 1 do
     if p[i]<=A then
     begin
       p[j] := p[i];
       j += 1;
     end;
   n := j;
   
   Write('Array after Delete:');
   for i:=0 to n-1 do Write(p[i]:2,'  ');
   WriteLn;
end.

Последний раз редактировалось Serge_Bliznykov; 15.11.2016 в 11:05.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.12.2016, 10:03   #5
FlayGlam
Пользователь
 
Регистрация: 21.12.2015
Сообщений: 38
По умолчанию

Пасибо большое
FlayGlam вне форума Ответить с цитированием
Старый 03.12.2016, 17:15   #6
olej.tsil
Заблокирован
 
Регистрация: 29.11.2016
Сообщений: 215
По умолчанию

Цитата:
Сообщение от FlayGlam Посмотреть сообщение
Пасибо большое
Судя по плодовитости ваших запросов, примерно в одно время и на сходные темы, вы, наверное вознамерились перерешать весь учебник сразу ... за всю группу?
Да ещё и чужими руками.

Смело. Свежо.
olej.tsil вне форума Ответить с цитированием
Старый 04.12.2016, 04:42   #7
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление элементов из одномерного массива(PascalABCNET) FlayGlam Помощь студентам 3 04.12.2016 04:43
C++ удаление элементов из целочисленного одномерного массива MixaelMitre Общие вопросы C/C++ 1 06.11.2014 13:41
Поиск,удаление и вставка элементов одномерного массива.Delphi.Программа для курсовой работы. snord123 Помощь студентам 1 06.05.2014 18:22
Как обнулить элементы строки двумерного массива, содержащей наибольшее количество элементов одномерного массива griignat Помощь студентам 1 22.11.2011 20:04
удаление элемента из одномерного массива V@mpire Общие вопросы C/C++ 1 02.06.2010 22:01