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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2011, 14:18   #1
StoneGod
Пользователь
 
Регистрация: 13.09.2011
Сообщений: 15
По умолчанию ни фига не понимаю как решить(

дан массив из 10 целых чисел, найти сумму чисел в которых есть хотя бы одна четная цифра
StoneGod вне форума Ответить с цитированием
Старый 25.09.2011, 14:28   #2
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

1. функция, которая вычисляет если ли в числе чётные цифры:
Код:
function CheckEven(Value : integer):boolean;
var i , V: integer;
begin
 result:=false;
 V:=Abs(Value);
 while V>10 do
 begin
  if (V mod 10) mod 2 = 0 then
  begin
   result:=true;
   break;
  end;
  V:=Trunc(V/10);
 end;
end;
2. далее в цикле перебираешь все элементы "пропуская чере эту функцию" Если функция возвращает true - элемент "твой"
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 25.09.2011, 14:29   #3
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,839
По умолчанию

даны Вам числа: 33, 4, 56, 11, 12, 34, 92
числа 33 и 11 исключаете сразу, т.к. в них только нечётные цифры 1 и 3.
а вот остальные содержат в себе чётные цифры: 56 -6, 4 -4, 12 - 2, 34 - 4, 92 - 2
и из вам нужно сложить. что может быть проще? начните делать код, а дальше обсудим его вместе.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 25.09.2011, 14:43   #4
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

вторая часть кода, видно тут реально ленивый народ:
Код:
var N : array[1..10] of integer = (33, 4, 56, 11, 12, 34, 92, 111, 45, 39);
begin
 R:=0;
 for i:=1 to 10 do
 if CheckEven(N[i]) then R:=R+N[i];
end;
потом удивляются почему ихние программные продукты не пользутся популярностью
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 25.09.2011, 15:32   #5
StoneGod
Пользователь
 
Регистрация: 13.09.2011
Сообщений: 15
По умолчанию

program gh;
function CheckEven(Value:integer):boolean;
var
a:array [1..10] of integer;
k,i,p,o:integer;
result:boolean;
begin
writeln('vvedi massiv');
for i:=1 to 10 do
readln(a[i]);
result:=false;
k:=Abs(Value);
while k>10 do
begin
if (k mod 10) mod 2=0 then
begin
result:=true;
break;
end;
k:=Trunc(k/10);
end;
begin
p:=0;
for i:=1 to 10 do
if CheckEven(a[i]) then p:=p+a[i];
writeln('p=',p);
end.
я написал но паскалю всё равно что то не нравится
StoneGod вне форума Ответить с цитированием
Старый 25.09.2011, 15:42   #6
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Код:
program Project1;

function CheckEven(Value : integer):boolean;
var i , V: integer;
begin
 result:=false;
 V:=Abs(Value);
 if V<10 then
 begin
  result:=V mod 2 = 0;
  exit;
 end;
 while V>10 do
 begin
  if (V mod 10) mod 2 = 0 then
  begin
   result:=true;
   break;
  end;
  V:=Trunc(V/10);
 end;
end;

var i,R : integer;
    a   : array [1..10] of integer;
begin
 writeln('vvedi massiv');
 for i:=1 to 10 do
 readln(a[i]);

 R:=0;
 for i:=1 to 10 do
 if CheckEven(a[i]) then R:=R+a[i];
 writeln(' R=', R);
end.
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Звонят с Москвы или какого фига? vasek123 Свободное общение 8 01.08.2011 17:32
я не понимаю как сделать... Ольга Иванова Помощь студентам 1 24.03.2011 07:24
Помогите решить!Ничего не понимаю в информатике! felice Паскаль, Turbo Pascal, PascalABC.NET 3 03.02.2008 14:54
Delphi. Не понимаю как решить задачу. EVIL Помощь студентам 3 21.10.2007 01:12