Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

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

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

Ответ
 
Опции темы
Старый 29.01.2018, 18:54   #1
UnrealOui
Новичок
 
Регистрация: 29.01.2018
Сообщений: 2
Репутация: 10
По умолчанию Нахождения среднего арифметического

Разработайте программу для нахождения среднего арифметического элементов массива А, больших числа с, введенного с клавиатуры.
Больших числа с - я не знаю как сделать!
Код:

program pr;
 
var
  a: array [1..100] of integer;
  i, n, cout, sum: integer;
  avg: real;
 
begin
  cout := 0;
  sum := 0;
  writeln('Введите размер массива');
  readln(n);
  for i := 1 to n do
  begin
    a[i] := random(21);   // диапазон любой ставь( здесь от 0 до 20);
    write(a[i]:3);
    if i mod 2 = 0 then
    begin
      cout := cout + 1;
      sum := sum + a[i];
    end;
  end;
  writeln;
  writeln('Среднее арифметическое: ', sum / cout);
end.

UnrealOui вне форума   Ответить с цитированием
Старый 29.01.2018, 19:44   #2
ZX Spectrum-128
Профессионал
 
Регистрация: 05.11.2013
Адрес: Бетельгейзе
Сообщений: 1,602
Репутация: 366
По умолчанию

Код:

program pr;

var
  a: array [1..100] of integer;
  c, i, n, cout, sum: integer;
  avg: real;

begin
  randomize;
  cout := 0;
  sum := 0;
  writeln('Введите число С: ');
  readln(c);
  writeln('Введите размер массива: ');
  readln(n);
  for i := 1 to n do
  begin
    a[i] := random(21);   // диапазон любой ставь( здесь от 0 до 20);
    write(a[i]:4);
    if a[i] > c then
    begin
      cout := cout + 1;
      sum := sum + a[i];
    end;
  end;
  writeln;
  if cout <> 0 then
    writeln('Среднее арифметическое: ', sum / cout)
  else
    writeln('Нет таких чисел');
end.


Последний раз редактировалось ZX Spectrum-128; 29.01.2018 в 19:51.
ZX Spectrum-128 вне форума   Ответить с цитированием
Старый 29.01.2018, 19:57   #3
type_Oleg
Профессионал
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Адрес: Хазарский каганат
Сообщений: 2,433
Репутация: 1379
По умолчанию

А если вместо этого:
Код:

begin
    a[i] := random(21);   // диапазон любой ставь( здесь от 0 до 20);
    write(a[i]:4);
    if a[i] > c then
    begin
      cout := cout + 1;
      sum := sum + a[i];
    end;
  end;

это:
Код:

begin
    a[i] := random(21);   // диапазон любой ставь( здесь от 0 до 20);
    write(a[i]:4);
    if a[i] <= c then Continue;
    cout := cout + 1;
    sum := sum + a[i];
  end;

то будет чуть короче.
type_Oleg вне форума   Ответить с цитированием
Старый 29.01.2018, 21:46   #4
digitalis
Профессионал
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 1,124
Репутация: 418
По умолчанию

Думается, короче будет в записи исходника, а при компиляции - монофигственоо.
digitalis на форуме   Ответить с цитированием
Старый 05.02.2018, 12:24   #5
zentie1st
Новичок
 
Регистрация: 05.02.2018
Сообщений: 2
Репутация: 10
По умолчанию

Вот так сообразилоь:
Код:

program qwerty;

var
  a: array of real;
  summa, resultat: real;
  n: integer;

begin
  print('Введите количество чисел:');
  readln(n);
  setlength(a, n);
  for var i := 1 to n do 
  begin
    write('Введите ', i, '-е число: ');
    readln(a[i - 1]);
  end;
  summa := a.Sum;
  resultat := summa / n;
  println('Среднее арифметическое число:', resultat);
end.

zentie1st вне форума   Ответить с цитированием
Старый 05.02.2018, 12:29   #6
zentie1st
Новичок
 
Регистрация: 05.02.2018
Сообщений: 2
Репутация: 10
По умолчанию

Ещё короче:
Код:

program qwerty;

var
  a: array of real;
  n: integer;

begin
  print('Введите количество чисел:');
  readln(n);
  setlength(a, n);
  for var i := 1 to n do 
  begin
    write('Введите ', i, '-е число: ');
    readln(a[i - 1]);
  end;
  println('Среднее арифметическое число:', a.Sum / n);
end.

zentie1st вне форума   Ответить с цитированием
Старый 05.02.2018, 12:30   #7
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,106
Репутация: 6385
По умолчанию

Цитата:
Вот так сообразилоь
А где в сообразилось условие - больше числа c? Да и массив для этой задачки совсем не нужен ))
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 05.02.2018, 14:01   #8
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,615
Репутация: 5352
По умолчанию

Цитата:
Сообщение от zentie1st Посмотреть сообщение
a.Sum
а это вообще не Паскаль (а упырь PascalABC.NET)
Serge_Bliznykov вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с выводом массивов и нахождения среднего арифметического (Delphi) Daniyar22 Помощь студентам 6 20.05.2014 10:48
Составьте блок-схему алгоритму для нахождения: среднего арифметического n заданных чисел; Alexander2810 Помощь студентам 0 24.02.2014 16:17
Программа нахождения суммы,среднего арифметического,минимума функции vralayala Паскаль 0 28.05.2013 12:10
отклонение от среднего арифметического KOLANICH Помощь студентам 3 24.10.2011 18:40
Нахождение среднего арифметического AliVe Паскаль 1 12.04.2007 00:25


00:17.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru