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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2017, 15:49   #1
Romeshek
Пользователь
 
Регистрация: 29.09.2017
Сообщений: 33
По умолчанию [Pascal] Подсчитать количество ненулевых чисел

Задание: Подсчитать количество ненулевых чисел, стоящих на нечетных местах, и вычислить среднее арифметическое чисел, меньших заданного T

Код:
const n=10;
var
  a,i,k,y,s:integer;
  z:array[1..n] of integer;
begin

  s:=0;
  k:=0;
  y:=0;
  randomize;
  for i:=1 to n do 
  begin
    z[i]:=random(20)-10;
    write(z[i],'  ');
    if not(z[i]<a) then
    begin
      s:=s+y;
      Inc(y);
    end;
    if (z[i]=0) and (i mod 2<>0) then inc(k);
  end;
  writeln;
  writeln('Среднее арифметическое=',s/n);
  writeln('Количество ненулувых чисел=',y);
end.

Что смог- написал, но что-то не считает то, что нужно. Если не сложно, подскажите. Не так давно начал изучать данный язык.

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

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

А зачем используете переменную a вместо T ?
но это не суть.

ошибки.
1) не задаёте значение a (а лучше ввести переменную T для этой цели)
2) меньше заданного значения - это просто if (z[i]<T) then
not не нужен
3) сумму чисел надо считать так s:=s+z[i];
4) среднее арифметическое считается в вашем случае по формуле s/y
при этом надо учесть вариант, что y=0 (т.е. чисел меньше T нет совсем),
для этого нужно написать
Код:
if y=0 then WriteLn('Нет чисел меньше T') 
else writeln('Среднее арифметическое=',s/y);
5) считаете количество не нулевых в переменной k, а выводите почему-то другую переменную
должно быть,
Код:
writeln('Количество ненулевых чисел на нечётных местах = ',k);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.10.2017, 18:08   #3
Romeshek
Пользователь
 
Регистрация: 29.09.2017
Сообщений: 33
По умолчанию

Спасибо за разъяснение!
Romeshek вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать сумму ненулевых чисел в массиве. Ассемблер Серебаня Помощь студентам 0 19.06.2017 18:23
Подсчитать сумму отрицательных четных чисел, количество четных чисел кратных 3 и т.д. (pascal abc .net) kardinalmax Общие вопросы .NET 1 24.01.2014 09:28
Задана последовательность чисел в формате:сначала количество цифр в числе, потом - цифры числа. Подсчитать количество. Arn1 Помощь студентам 4 03.10.2011 20:03
Подсчитать количество пар чисел KER123 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 08.04.2011 08:21