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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 12:55   #1
Vetal_1715
Пользователь
 
Регистрация: 17.10.2011
Сообщений: 11
Печаль Найти количество членов последовательности b1,b2..bn, которые имеют четные порядковые номера и являются нечетными числами (Паскаль

исправить ошибки в программе

Условие
Даны натуральные числа b1, b2...bn. Найти количество членов последовательности b1,b2...bn, которые имеют парные порядковые номера и являются нечетными числами.
Программа
Код:
Program P1;
var a:array[1..256] of integer;
i,n,p:integer
begin
readln(n);
for i:=1 to n do readln(a[i]);
p:=0;
for i mod 2=0 then if a[i] mod 2=0 then
begin 
writeln(a[i]);
p:=p+1
end;
if p>n then ('nema');
end.



_________
Название темы должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В дальнейшем темы с подобным названием будут закрываться/удаляться,
а автор такой темы получать штрафы.

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 23.05.2012 в 13:01.
Vetal_1715 вне форума Ответить с цитированием
Старый 23.05.2012, 13:07   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ладно. написано хоть и безграмотно с точки зрения языка, зато виден заложенный алгоритм (и, кстати, почти верный алгоритм).
поэтому я позволил себе исправить ошибки, опечатки, пропуски точек с запятой ну и прочие нелепости.
получился такой код:
Код:
program P1;
var
  a: array[1..256] of integer;
  i, n, p: integer;
begin
  readln(n);
  for i := 1 to n do readln(a[i]);
  p := 0;
  WriteLn('trebyenye chisla: ');
  for i := 1 to n do
    if i mod 2 = 0 then
      if a[i] mod 2 = 1 then
      begin
        writeln(a[i]);
        p := p + 1
      end;
  if p = 0 then WriteLn('nema');
  Readln
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.05.2012, 13:16   #3
Vetal_1715
Пользователь
 
Регистрация: 17.10.2011
Сообщений: 11
По умолчанию

спасибо большое!!
Vetal_1715 вне форума Ответить с цитированием
Старый 23.05.2012, 13:20   #4
temaps
Форумчанин
 
Регистрация: 15.05.2011
Сообщений: 160
По умолчанию

Если сделать как написано в условии можно короче
Код:
program P1;
var
  a: array[1..256] of integer;
  i, n, p: integer;
begin
  readln(n);
  p := 0;
  for i := 1 to n do
begin
readln(a[i]);
if (i mod 2=0) and (a[i] mod 2=0) then p:=p+1;
end;
  if p = 0 then WriteLn('nema') else writeln('Kolicestvo iskomih chisel: ',p);
end.
И, кстати, если так делать и такой ответ нужен, то массив не нужен можно обойтись просто ещё одной переменной Integer
temaps вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дано натуральные числа n, в1 в2 .... Вn. Найти члены вк последовательности в1 в2 .... Вn что есть потроеннимы нечетными tipo4ok Паскаль, Turbo Pascal, PascalABC.NET 0 20.10.2011 16:25
найти сумму членов ряда с точностью ε для заданного х и их количество (Паскаль) gylayko Помощь студентам 0 12.10.2011 16:50
Необходимо определить количество слов, которые являются "перевертышами" Алексей_1 Паскаль, Turbo Pascal, PascalABC.NET 2 08.05.2011 22:40
чисел имеющие четные порядковые номера и являющиеся нечетными eva-2030 Общие вопросы Delphi 2 22.01.2011 21:35
найти наибольший элемент из элементов одномерного массива,которые имеют парный номер soblaznitel Помощь студентам 0 26.05.2010 22:02