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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2010, 16:03   #1
dagggggger
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 10
По умолчанию не могу доработать

Код:
const nmax=100;
var mas:array[1..nmax] of integer;
k,i,s,n,rez:integer;
begin
clrscr;
randomize;
repeat
Writeln('‚ўҐ¤ЁвҐ а*§¬Ґа ¬*ббЁў* ¤® ',nmax,'n=');
readln(n)
until n in [1..nmax];
for i:=1 to n do
s:=s+mas[i];
s:=s/n;
for i:=1 to n do
if mas[i]>s then begin
rez:=rez+mas[i];
k:=k+1;
end;
if k<>0 then rez:rez/k;
end.

Последний раз редактировалось Stilet; 17.12.2010 в 16:53.
dagggggger вне форума Ответить с цитированием
Старый 17.12.2010, 16:06   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

может хотябы напишите что вы от этого хотели? или часть задания это догадатся?
кстати код нужно оформлять тегом знак # в расширеном режиме правки
vovk вне форума Ответить с цитированием
Старый 17.12.2010, 16:13   #3
dagggggger
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 10
По умолчанию

Код:
const nmax=100;
var mas:array[1..nmax] of integer;
k,i,s,n,rez:integer;
begin
clrscr;
randomize;
repeat
Writeln('‚ўҐ¤ЁвҐ а*§¬Ґа ¬*ббЁў* ¤® ',nmax,'n=');
readln(n)
until n in [1..nmax];
for i:=1 to n do
s:=s+mas[i];
s:=s/n;
for i:=1 to n do
if mas[i]>s then begin
rez:=rez+mas[i];
k:=k+1;
end;
if k<>0 then rez:rez/k;
end.

Последний раз редактировалось Stilet; 17.12.2010 в 16:54.
dagggggger вне форума Ответить с цитированием
Старый 17.12.2010, 16:13   #4
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Я так понимаю вы сюда вставили заполнение массива + кусок моего кода?
Зачем создавали новую тему, спросили бы в той, ладно
Код:
const nmax=20;
var mas:array[1..nmax] of integer;
k,i,s,n,rez:integer;
begin
clrscr;
randomize;
for i:=1 to n do
   mas[i]:=random(15);
for i:=1 to n do
   s:=s+mas[i];
s:=s/n;
for i:=1 to n do
if mas[i]>s then begin
                        rez:=rez+mas[i];
                        k:=k+1;
end;
if k<>0 then rez:rez/k;
end.
Хотя как вы её будите сдавать я не представляю
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 17.12.2010, 16:23   #5
dagggggger
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 10
По умолчанию

он ошибку 26 выдаёт на строке - s:=s/n;
dagggggger вне форума Ответить с цитированием
Старый 17.12.2010, 16:28   #6
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Правильно переменные s,rez у нас заданы целочисленным типом, а результат деления может быть дробным, так что
Код:
var mas:array[1..nmax] of integer;
k,i,n:integer;
s,rez: real
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 17.12.2010 в 16:30.
Niro вне форума Ответить с цитированием
Старый 17.12.2010, 16:45   #7
dagggggger
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 10
По умолчанию

теперь 200 ошибка в той же строке
From Stilet: Еще раз ругнешся, или код не оформишь правильно - тему удалю.

Последний раз редактировалось Stilet; 17.12.2010 в 16:54.
dagggggger вне форума Ответить с цитированием
Старый 17.12.2010, 16:54   #8
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

всё
Код:
  uses crt;
  const n=20;
var mas:array[1..n] of integer;
  k,i:integer;
  s,rez: real;
begin
  clrscr;
  randomize;
  writeln('isxodnii massiv');
  for i:=1 to n do
  begin
    mas[i]:=random(15);
    write(mas[i],' ');
  end;
  for i:=1 to n do
    s:=s+mas[i];
  s:=s/n;
  for i:=1 to n do
   if mas[i]>s then begin
                        rez:=rez+mas[i];
                        k:=k+1;
                    end;
  if k<>0 then rez:=rez/k;
  writeln;
  writeln('s = ',s:0:2);
  writeln('rez = ',rez:0:2);
  readln;
end.
С вас бутер с черной икрой
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 17.12.2010, 22:25   #9
dagggggger
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 10
По умолчанию

))) спасибо боьшое
dagggggger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработать код ferrum88 Помощь студентам 0 23.11.2010 20:14
Доработать движок jcsystem Фриланс 3 12.07.2010 13:58
надо доработать nariku Общие вопросы по Java, Java SE, Kotlin 3 22.10.2009 20:36
Доработать код Микки Microsoft Office Excel 7 31.03.2009 13:12
Текстовые файлы, не могу доработать программу Slippik Помощь студентам 1 22.03.2009 21:41