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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2012, 17:44   #1
Вероника_94
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
Печаль задача с процедурами

Даны два одномерных массива целых чисел. Определить в каком из них меньше элементов с четными значениями. Вывести найденный массив и соответствующее пояснение. Использовать подпрограмму для нахождения количества четных элементов
Вероника_94 вне форума Ответить с цитированием
Старый 03.02.2012, 22:31   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Вероника_94 Посмотреть сообщение
Даны два одномерных массива целых чисел. Определить в каком из них меньше элементов с четными значениями. Вывести найденный массив и соответствующее пояснение. Использовать подпрограмму для нахождения количества четных элементов
Вот, Виктория, вам программа, правда на скорую руку без оптимизаций, но работает -
Код:
program Project1;
uses
  SysUtils;
const
  n=6;
var
  Mas1,Mas2:array[1..n] of Integer;
  i,j,kol1,kol2:Integer;
  procedure schet;
  begin
    kol1:=0;
    kol2:=0;
    for i:=1 to n do
    begin
      if ((Mas1[i] mod 2)=0) then
        Inc(kol1);
      if ((Mas2[i] mod 2)=0) then
        Inc(kol2);
    end;
  end;
begin
  writeln('Input the first massive - ');
  for i:=1 to n do
  begin
    write('Mas1[',i,'] = ');
    readln(Mas1[i]);
  end;
  Writeln;
  writeln('Input the second massive - ');
  for i:=1 to n do
  begin
    write('Mas2[',i,'] = ');
    readln(Mas2[i]);
  end;
  schet;
  writeln('Result - ');
  if kol1>kol2 then
  begin
    Writeln('Chetnyh elementov bolsche v massive 1:');
    for i:=1 to n do
      write(Mas1[i],' ');
  end
  else
  if kol1<kol2 then
  begin
    Writeln('Chetnyh elementov bolsche v massive 2:');
    for i:=1 to n do
      write(Mas2[i],' ');
  end
  else write('Kolichestvo chetnyh elementov v massivah ravno!!!');
  readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 03.02.2012, 22:48   #3
Вероника_94
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию

а мне нужно на паскале(((
Вероника_94 вне форума Ответить с цитированием
Старый 03.02.2012, 22:48   #4
Вероника_94
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию

но всё равно спасибо))
Вероника_94 вне форума Ответить с цитированием
Старый 03.02.2012, 23:07   #5
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Вероника_94 Посмотреть сообщение
но всё равно спасибо))
Вот на паскале -
Код:
uses crt;
const
  n=6;
var
  Mas1,Mas2:array[1..n] of Integer;
  i,j,kol1,kol2:Integer;
  procedure schet;
  begin
    kol1:=0;
    kol2:=0;
    for i:=1 to n do
    begin
      if ((Mas1[i] mod 2)=0) then
        Inc(kol1);
      if ((Mas2[i] mod 2)=0) then
        Inc(kol2);
    end;
  end;
begin
  writeln('Input the first massive - ');
  for i:=1 to n do
  begin
    write('Mas1[',i,'] = ');
    readln(Mas1[i]);
  end;
  Writeln;
  writeln('Input the second massive - ');
  for i:=1 to n do
  begin
    write('Mas2[',i,'] = ');
    readln(Mas2[i]);
  end;
  schet;
  writeln('Result - ');
  if kol1>kol2 then
  begin
    Writeln('Chetnyh elementov bolsche v massive 1:');
    for i:=1 to n do
      write(Mas1[i],' ');
  end
  else
  if kol1<kol2 then
  begin
    Writeln('Chetnyh elementov bolsche v massive 2:');
    for i:=1 to n do
      write(Mas2[i],' ');
  end
  else write('Kolichestvo chetnyh elementov v massivah ravno!!!');
  readln;
end.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 03.02.2012, 23:18   #6
Katus
Форумчанин
 
Регистрация: 30.11.2011
Сообщений: 161
По умолчанию

Код:
program BM;
{$apptype console}
uses
	SysUtils;
type
	tarray = array of integer;
var
	n,i: byte;
	a,b: tarray;

procedure readnums(m: tarray; n: byte; var res: byte);
begin
res:=0;
for n:=n-1 downto 0 do
	if m[n] mod 2 = 0 then
		res:=succ(res);
end;

procedure writenums(var m: tarray; n: byte);
var 
	i: byte;
begin
setlength(m, n);
writeln('Input ',n,' nums in this massive');
for i:=0 to n-1 do
	read(m[i];
end;

begin
write('N is ');
read(n);
writenums(a,n);
writenums(b,n);
writenums(a,n,i);
writenums(a,n,n);
if i>n then
	writeln('First massive have more el-ts whose mod 2 is 0 then second')
else
	writeln('Second massive have more el-ts whose mod 2 is 0 then first');
readln;
end.
Если лень что-то делать, заставь это делать машину ... =,
Katus вне форума Ответить с цитированием
Старый 03.02.2012, 23:59   #7
Вероника_94
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 22
По умолчанию

спасибо вам большое )))
Вероника_94 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача с процедурами investr Паскаль, Turbo Pascal, PascalABC.NET 3 12.02.2012 21:41
задача с процедурами sanchoflat Паскаль, Turbo Pascal, PascalABC.NET 0 19.11.2011 21:56
Задача с модулем, процедурами и функциями w0lf16 Помощь студентам 1 05.12.2009 18:12
Задача с процедурами Серафимий Долговяз Помощь студентам 4 14.02.2009 18:55
Задача по одномерному массиву, сделать с процедурами deu4er Помощь студентам 6 13.11.2008 13:59