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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 00:20   #1
giv93
Пользователь
 
Регистрация: 09.10.2011
Сообщений: 13
По умолчанию Процедура

Написать программу, которая в одномерном массиве вычисляет:
а) сколько ненулевых элементов;
б) среднее отрицательных элементов. (Процедуры)
giv93 вне форума Ответить с цитированием
Старый 10.12.2011, 00:21   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Простецкие задачки. Позор такие не решить.
Arigato вне форума Ответить с цитированием
Старый 10.12.2011, 03:23   #3
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Код:
Program p;
Uses crt;
var a:array [1..10] of integer;
    i:integer;
Procedure Nenul ;
var i: integer;
    k: integer;
begin
 k:=0;
 for i:=1 to 10 do begin
  if a[i]<>0 then k:=k+1;
 end;
 writeln('Vsego ',k,' ne nylevux elementov');
end;

Procedure sred ;
var i: integer;
    q, r: real;
begin
q:=0;
r:=0;
 for i:=1 to 10 do begin
  if a[i]<0 then begin
     q:=q+a[i];
     r:=r+1;
 if r=0 then writeln('no negative elements') 
 else writeln('average of negative elements is ', q/r:5:2);
  end;
 end;
writeln('Ser. :=',sred:0:2);
end;

begin
clrscr;
for i:=1 to 10 do begin
    write('A[',i,']:=');
    readln(a[i]);
end;
Nenul;
sred;
writeln('Isxodnui massiv');
for i:=1 to 10 do begin
    write(a[i],' ');
end;
readln;
end.
Люблю на ты.Я человек простой

Последний раз редактировалось Leshii; 11.12.2011 в 01:16.
Leshii вне форума Ответить с цитированием
Старый 10.12.2011, 07:01   #4
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Леший, совет небольшой тебе: при r=0 не дели на него, а выводи сообщение
Код:
if r=0 then writeln('no negative elements') else writeln('average of negative elements is ', q/r:5:2);
И еще: формат ":3:2" вряд ли разумно применять.. ))
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 10.12.2011, 11:50   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Цитата:
Сообщение от TinMan Посмотреть сообщение
И еще: формат ":3:2" вряд ли разумно применять.. ))
Разумно в данном случае ":0:2".
Arigato вне форума Ответить с цитированием
Старый 10.12.2011, 18:10   #6
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Точно, точно. Исправил.
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
процедура Bat{CMD}_Men Общие вопросы Delphi 0 29.12.2010 06:41
Процедура! ALABAMA Паскаль, Turbo Pascal, PascalABC.NET 1 20.05.2010 17:57
Процедура romka90 Microsoft Office Access 3 17.05.2010 00:44
Процедура jester_1936 Помощь студентам 5 20.12.2009 17:45
Процедура в процедура в C++ Builder Ecosasha C++ Builder 2 06.06.2009 17:17