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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 23:45   #1
STIFLER32
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 13
Восклицание четные и нечетные (delphi 7)

Привет всем! Помогите пожалуйста с решением задач на делфи и если можно объясните вкратце, буду очень признателен!

1. Дана числовая последовательность. Найти количество чисел, имеющих четные порядковые номера и являющиеся нечетными.

2. Дано действительное число a, натуральное число n. Вычислить:
a(a+1)...(a+n+1).
STIFLER32 вне форума Ответить с цитированием
Старый 19.11.2009, 06:58   #2
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

1
Код:
k:=0;
for i:=1 to n do
 if (i mod 2<>0) and (a[i] mod 2 =0) then inc(k)
2
Код:
P:=a;
for i:=1 to n+1 do
 P:=P*(a+1);
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 19.11.2009, 13:21   #3
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Chudo4258 вторая задача неточно. Нужно:
Код:
P:=a;
for i:=0 to n do
 P:=P*(a+1+i);
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Старый 19.11.2009, 16:50   #4
STIFLER32
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 13
По умолчанию

Что касается 1. Результат выводится единица... Можете показать полный код программы или сказать где у меня ошибка.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  a: array[0..999] of integer;
  k: integer; 
  n: integer;
  i: integer; 
begin
n:=Memo1.lines.Count;
k:=0;
for i:=1 to n do
 if (i mod 2<>0) and (a[i] mod 2 =0) then inc(k);
ShowMessage(IntToStr(k));
end;
end.
STIFLER32 вне форума Ответить с цитированием
Старый 19.11.2009, 17:11   #5
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

а где у вас в коде идет присвоение значений элементам массива ?
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 19.11.2009, 17:16   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А почему все забыли про такую замечательную функцию, как odd?
Код:
If Odd(I) Then ... Else
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 19.11.2009, 17:21   #7
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

А как работает функция Odd(i), и что является ее результатом?
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 19.11.2009, 17:24   #8
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Код:
 function odd( X: LongInt ): Boolean;
Цитата:
Функция определяет четность аргумента X. Возвращает True, если Х представляет собой нечетное значение и False, если четное.
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 19.11.2009, 17:24   #9
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var st, stt: string;
    k,i:integer;
    A: array[1..3000] of integer;
begin
k:=0;
InputQuery('Количество элементов в массиве','',st);
for i:=1 to StrToInt(St) do
 begin
  InputQuery('Значение '+IntToStr(i)+' элемента','',stt);
  A[i]:=StrToInt(stt);
  if (odd(i) and not(odd(a[i]))) then inc(k);
 end;
ShowMessage(IntToStr(k));
end;
Посмотрите, функцию odd, правильно применил, или наоборот надо?
Жми на весы!!!

Последний раз редактировалось Chudo4258; 19.11.2009 в 17:29.
Chudo4258 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
си четные числа world12_tk Помощь студентам 3 18.03.2009 17:33
В один массив нужно переслать чётные, а в другой - нечетные элементы матрицы. ...Diman... Паскаль, Turbo Pascal, PascalABC.NET 4 15.01.2009 15:15
Задачка про массив - Из массива удалить четные элементы, стоящие после максимального Crookers Общие вопросы C/C++ 4 23.09.2008 19:35
Если все элементы матрицы четные, вычислить их произведение. Misho0k Паскаль, Turbo Pascal, PascalABC.NET 7 20.05.2008 22:51
ДАНЫ 4 ЧИСЛА X Y Z W составит программу найти произведение все положительные нечетные числа Woland-itn Паскаль, Turbo Pascal, PascalABC.NET 3 23.03.2008 21:49