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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 14:33   #1
Kati
Пользователь
 
Регистрация: 21.05.2009
Сообщений: 34
По умолчанию Паскаль. Одномерные массивы.

Задание:
ksr *psr, если mi>0
yi = (kmin+pi), если mi<0
|pi*kmin|, если mi=0
ksr, psr – средние значения массивов, kmin – минимальное значение массива, |х| - абсолютная величина числа, оператор ABS.

Листинг:
Код:
uses crt;
const
n=100
max_r=100+1;
var
k,p,m:array[1..n] of  integer;
y:array[1..n] of real;
i,imax,n, kmax,kmin,pmax,pmin:integer;
ksr,psr, psum,ksum:real;
begin 
clrscr;
for i:=1 to n do k[i]:=random(max_r);
ksum:=0;
kmax:=k[1];
kmin:=k[1];
for  i:=1 to n do 
 begin 
  ksum := ksum +k[i];
   if k[i]<kmin then kmin:=k[i]
     else  if k[i]>kmax then 
           kmax:=k[i];
ksr:=ksum/n;
end;

for i:=1 to n do p[i]:=random(max_r);
psum:=0;
pmax:=k[1];
pmin:=k[1];
for  i:=1 to n do 
 begin 
  psum := psum +p[i];
   if p[i]<pmin then pmin:=p[i]
     else  if p[i]>pmax then 
           pmax:=p[i];
psr:=psum/n;
end;

for i:=1 to n do m[i]:=random(max_r);
  imax:=length(m[i]);
   for i:=1 to imax
       begin 
if  m[i]>0 then y[i]:=ksr+psr;
if  m[i]<0 then y[i]:=kmin+p[i];
if m[i]=0 then y[i]:=abs(p[i]*kmin);
end;
writeln(y[i]);
end.
Прошу помочь найти ошибки.

Последний раз редактировалось Stilet; 20.04.2013 в 21:34.
Kati вне форума Ответить с цитированием
Старый 22.05.2013, 10:33   #2
bablzz
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 40
По умолчанию

Код:
uses crt;
const
n=100;
max_r=200;
var

k,p,m:array[1..n] of  integer;
y:array[1..n] of real;
i, imax,kmax,kmin,pmax,pmin:integer;
ksr,psr,psum,ksum:real;

procedure InMas(var a:array[1..n] of integer);
var
   i:integer;
begin
     for i:=1 to n do a[i]:=random(max_r)-100;
end;

begin
clrscr;
Randomize;

InMas(k);
InMas(p);
InMas(m);


ksum:=0;
kmax:=k[1];
kmin:=k[1];

for  i:=1 to n do
 begin
  ksum := ksum +k[i];
   if k[i]<kmin then kmin:=k[i]
     else  if k[i]>kmax then
           kmax:=k[i];
ksr:=ksum/n;
end;

psum:=0;
pmax:=k[1];
pmin:=k[1];

for  i:=1 to n do
 begin
  psum := psum +p[i];
   if p[i]<pmin then pmin:=p[i]
     else  if p[i]>pmax then
           pmax:=p[i];
psr:=psum/n;
end;

writeln('ksr=', ksr,'  psr=', psr);

for i:=1 to n do
   begin
if  m[i]>0 then y[i]:=ksr+psr;
if  m[i]<0 then y[i]:=kmin+p[i];
if m[i]=0 then y[i]:=abs(p[i]*kmin);
   end;

for i:=1 to n do write(m[i],' ');
writeln;
writeln;

for i:=1 to n do  write(y[i],' ');

end.
Твои нахождения макс, мин значений я не проверял
bablzz вне форума Ответить с цитированием
Старый 23.05.2013, 02:56   #3
taniushska
Новичок
Джуниор
 
Регистрация: 23.05.2013
Сообщений: 5
По умолчанию

А здесь какие ошибки for i:=1 to n do k[i]:=random(max_r);
ksum:=0;
kmax:=k[1];
kmin:=k[1];
for i:=1 to n do
begin
ksum := ksum +k[i];
taniushska вне форума Ответить с цитированием
Старый 23.05.2013, 14:40   #4
bablzz
Пользователь
 
Регистрация: 28.04.2010
Сообщений: 40
По умолчанию

Цитата:
Сообщение от taniushska Посмотреть сообщение
А здесь какие ошибки for i:=1 to n do k[i]:=random(max_r);
ksum:=0;
kmax:=k[1];
kmin:=k[1];
for i:=1 to n do
begin
ksum := ksum +k[i];
Это вопрос?
bablzz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы,паскаль Kries Помощь студентам 2 16.04.2012 15:05
Одномерные массивы. Паскаль. Se7en_Ghost Помощь студентам 4 27.12.2010 18:31
Одномерные массивы!! Паскаль! Korun Помощь студентам 2 16.12.2009 16:48
Паскаль. Одномерные массивы. glupayastudentka Помощь студентам 2 24.06.2009 07:47
Одномерные массивы. Паскаль Ximer Помощь студентам 2 14.05.2009 11:24