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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2016, 17:29   #1
Rimean
 
Регистрация: 23.11.2016
Сообщений: 9
По умолчанию массивы в паскале,подсчет числа элементов

В массиве из 40 элементов подсчитать число элементов с четными номерами, имеющими значение FALSE.
Rimean вне форума Ответить с цитированием
Старый 08.12.2016, 19:35   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:
Cnt:=0;
for i:=1 to 40 do
  if not odd(i) and Not Arr[i] then Inc(Cnt);
WriteLn('Count = ',cnt);
или так
Код:
Cnt:=0;
i:=2;
while i<=40 do begin
  if Not Arr[i] then Inc(Cnt);
  inc(i,2)
end;
WriteLn('Count = ',cnt);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.12.2016, 14:26   #3
Rimean
 
Регистрация: 23.11.2016
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Cnt:=0; for i:=1 to 40 do if not odd(i) and Not Arr[i] then Inc(Cnt); WriteLn('Count = ',cnt);
Компилятор пишет об ошибке : Нельзя преобразовать тип array [1..40] of boolean к boolean
Rimean вне форума Ответить с цитированием
Старый 09.12.2016, 15:12   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Rimean Посмотреть сообщение
Компилятор пишет об ошибке : Нельзя преобразовать тип array [1..40] of boolean к boolean
Бог его знает, что Вы там у себя в коде написали...

у меня всё работает:
Код:
var
  Arr : array [1..40] of boolean;
  i, Cnt : integer;
begin
  Randomize;
  for i:=1 to 40 do begin Arr[i]:= Random(2)=0; Write(Arr[i],' '); end;
  WriteLn;
  Cnt:=0;
  for i:=1 to 40 do
    if not odd(i) and Not Arr[i] then Inc(Cnt);
  WriteLn('Count = ',cnt);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.12.2016, 20:05   #5
Rimean
 
Регистрация: 23.11.2016
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Цитата:
Сообщение от Rimean Посмотреть сообщение
Компилятор пишет об ошибке : Нельзя преобразовать тип array [1..40] of boolean к boolean
Бог его знает, что Вы там у себя в коде написали...

у меня всё работает:
Код:


var
Arr : array [1..40] of boolean;
i, Cnt : integer;
begin
Randomize;
for i:=1 to 40 do begin Arr[i]:= Random(2)=0; Write(Arr[i],' '); end;
WriteLn;
Cnt:=0;
for i:=1 to 40 do
if not odd(i) and Not Arr[i] then Inc(Cnt);
WriteLn('Count = ',cnt);
end.
о,нашла ошибку,спасибо огромное!
Rimean вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сформировать массивы из элементов матриц больших заданного числа P на СИ MAKSUS_87 Общие вопросы C/C++ 0 13.04.2014 11:06
односвязные списки в паскале. подсчет количества похожих элементов в списке svetik09 Помощь студентам 0 19.05.2013 23:45
Подсчет элементов в StringGrid rainbow Общие вопросы Delphi 9 07.08.2012 07:02
подсчет элементов в массиве счастливая Помощь студентам 1 17.05.2010 19:11