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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2011, 11:42   #1
Vinam*
Новичок
Джуниор
 
Регистрация: 23.12.2011
Сообщений: 6
По умолчанию Дан массив целых чисел из 25 элементов,заполненный случайным образом числами из промежутка [-35,75]

Можете помочь с программой?
1)Дан массив целых чисел из 25 элементов,заполненный случайным образом числами из промежутка [-35,75]
Удалить из него все элементы,первая цифра которая чётная!

Нужно удалить те элементы,первая цифра которых чётная! Например:21 43 64 24 23 !!!
Отредактируйте программу, пожалуйста,программа удаляет такие элементы как 34 56 44 12 просматривает со 2 цифры!Только с использованием Div и Mod!
1)
Код:
program ex1231;
const nmax=25;
Type myarray=array [1..nmax]of integer;
 
Procedure init2(var n1:integer;var x:myarray);
var i:integer;
begin
repeat
write('Размер массива до ', nmax,' n=');
readln(n1);
until n1 in [1..nmax];
for i:=1 to n1 do
x[i]:=random(76)-36;
end;
Procedure print1(n1:integer;x:myarray);
var i:integer;
begin
for i:=1 to n1 do
write(x[i]:3);
writeln;
end;
Procedure Delete(var n1:Integer;Var m:myarray);
Var i,j:Integer;
Begin
i:=1;
while i<=n1 do
if (m[i] div 10=0) or (m[i] mod 2=0 ) then
 begin
  if i=n1 then n1:=n1-1
  else
   begin
    for j:=i to n1-1 do
    m[j]:=m[j+1];
    n1:=n1-1;
   end;
 end
else i:=i+1;
end;
var a:myarray;
    n:integer;
Begin
Randomize;
Init2(n,A);
writeln('Ucxodniy macciv');
Print1(n,A);
Delete(n,a);
writeln('Poly4enniy ');
print1(n,a);
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.12.2011 в 11:57.
Vinam* вне форума Ответить с цитированием
Старый 23.12.2011, 11:59   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не проверял.
но попробуйте вместо строчки
Цитата:
Код:
if (m[i] div 10=0) or (m[i] mod 2=0 ) then
такую:
Код:
if ((m[i] div 10) mod 2) = 0 then {первая цифра чётная}
....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.12.2011, 12:45   #3
Vinam*
Новичок
Джуниор
 
Регистрация: 23.12.2011
Сообщений: 6
По умолчанию

Работает,но почему-то убирает единицу 1 !?
Vinam* вне форума Ответить с цитированием
Старый 23.12.2011, 13:00   #4
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Код:
if (abs(m[i])>10) and ((m[i] div 10) mod 2 = 0) then {первая цифра чётная}
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив целых чисел P ,состоящий из 30 элементов.Заполнить его с клавиатуры Darkin Паскаль, Turbo Pascal, PascalABC.NET 4 26.05.2011 17:37
Дан двумерный массив размером 5 х 6, заполненный случайным образом dark999 Помощь студентам 7 19.04.2011 23:05
дан массив А из К целых чисел. amikulia Помощь студентам 1 14.01.2011 12:41
Дан массив целых чисел из n элементов endimion11 Помощь студентам 11 20.04.2010 17:36