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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2009, 19:57   #1
shelest
Пользователь
 
Аватар для shelest
 
Регистрация: 01.11.2009
Сообщений: 99
Вопрос процедуры

Все чётные элементы массива K(n) поместить в массив L(n) а нечетные в массив M(n), подсчитать количество тех и других.
Код:
 program pr4_16;

{$APPTYPE CONSOLE}
    var chetn,nechetn,i,n,m:integer;
    M1:array [1..100] of integer;
    L:array [1..100] of integer;
Type K=array [1..100] of integer;
 var mas:k;
 procedure vvod (var m:K; n:integer);
 begin
   for i:=1 to n do
   readln (m[i]);
end;
procedure vvod2 (var m:K; n:integer);
begin
  randomize;
  for i:=1 to n do
  m[i]:=1+random(11);
end;
begin
chetn:=0;
nechetn:=0;
writeln ('vvedite kolichestvo elementov massiva ');
readln (n);
begin
writeln ('vvedi 1 esli vvod sluchaen, 0 esli vvod s klaviatury');
readln (m);
if m=1 then
vvod2 (mas,n);
if m=0  then
vvod (mas,n);
for i:=1 to n do
write (mas[i]:3);
writeln;
end;
for i:=1 to n do
begin
if mas[i] mod (2)=0 then
begin
chetn:=chetn+1;
L[chetn]:=mas[i];
end;
if mas[i] Mod 2=1 then
begin
nechetn:=nechetn+1;
M1[nechetn]:=mas[i];
end;
end;
writeln ( 'chetn=' , chetn);
for i:=1 to chetn do Write(L[i]:3);
writeln;
writeln ( 'nechetn=' , nechetn);
for i:=1 to nechetn do Write(M1[i]:3);
readln
end.
как сделать подсчёт четных и нечетных элементов с помощью процедур?
shelest вне форума Ответить с цитированием
Старый 19.12.2009, 20:12   #2
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Код:
function asd(sdf: k):word;
begin
  chetn:=0; nechetn:=0;
  for i:=1 to n do
  begin
    if (sdf[i] mod 2=0) then
    begin
      inc(chetn);
      L[chetn]:=sdf[i];
    end else begin
      inc(nechetn);
      M1[nechetn]:=sdf[i];
    end;
  end;
end;
И ещё всё таки не плохо было бы придерживатся оформления кода какого то. И когда вы пишите:

Код:
if mas[i] mod (2)=0 then
begin
chetn:=chetn+1;
L[chetn]:=mas[i];
end;
if mas[i] Mod 2=1 then
begin
nechetn:=nechetn+1;
M1[nechetn]:=mas[i];
end;
Можно написать просто else и этого будет достаточно. Как написано у меня.
dr.Chas вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры Юля787 Помощь студентам 4 13.12.2009 15:06
процедуры Maxxx 83 Помощь студентам 3 02.10.2009 19:16
Процедуры. Olalya da Silva Паскаль, Turbo Pascal, PascalABC.NET 0 07.05.2009 20:18
Запуск процедуры из процедуры с дополнением 1sal1 Общие вопросы Delphi 3 06.10.2008 21:54
процедуры FIIR БД в Delphi 9 26.02.2008 11:26