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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 13:41   #1
victor5133
Форумчанин
 
Регистрация: 05.10.2010
Сообщений: 107
По умолчанию В пасколе выдает ошибку exitcode = 201

Помогите, please, найти ошибку в программе. Условия задачи:
на вход подается кол-во учеников а потом их данные Фамилия Имя и три оценки все через пробел. Нужно найти трех учеников средние арефнитические которых наибольшие.
вот то что я написал

Код:
Program C4_2010;
var fam:array[1..20] of string; nam:array[1..15] of string;
bal:array[1..5] of integer; i,n,c,k,j,m,p,b:integer; slovo,l:string;
begin
writeln('введите кол-во учеников');
readln(k);
m:=1;
for i:=1 to k do
begin
writeln('введите данные');
readln(slovo);
n:=length(slovo);
j:=1;
l:='-';
while l<>' ' do
begin
l:=copy(slovo,j,1);
j:=j+1;
if l=' ' then break;
fam[m]:=fam[m]+l;
end;
l:='-';
while l<>' ' do
begin
l:=copy(slovo,j,1);
j:=j+1;
if l=' ' then break;
nam[m]:=nam[m]+l;
end;
l:='-';
for j:=j to n do
begin
l:=copy(slovo,j,1);
if l<>' ' then val(l,p,c);
bal[m]:=bal[m]+p;
end;
bal[m]:=trunc(bal[m]/3);
m:=m+1;
end;
k:=0;
for i:=1 to m-1 do
begin
if bal[i]>k then
begin
k:=bal[i];
j:=i;
end;
end;
c:=0;
for i:=1 to n-1 do
begin
if i<>j then begin if (bal[i]>c) and (bal[i]<bal[j]) then
begin
c:=bal[i];
b:=i;
end;
end;
end;
n:=0;
for i:=1 to n-1 do
begin
if (i<>j) and (i<>b) then
begin
if (bal[i]>n) and (bal[i]<bal[j]) and (bal[i]<bal[b]) then
begin
n:=bal[i];
p:=i;
end;
end;
end;
writeln(fam[j]+' '+nam[j]+' ');
write(bal[j]);
writeln(fam[b]+' '+nam[b]+' ');
write(bal[b]);
writeln(fam[p]+' '+nam[p]+' ');
write(bal[p]);
readln;
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.03.2011 в 20:00.
victor5133 вне форума Ответить с цитированием
Старый 07.03.2011, 14:35   #2
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

1. ..мда, а зачем столько массивов, специально для этих целей и создали record.
Код:
type
   Bal = record
       Math: byte;
       Hist: byte;
       Russ: byte;
   end;
    Pups = record
        Name : string [20];
        FName: string [20];
        Balls:Bal;
    end;

Последний раз редактировалось Летучий_СкилетиК; 07.03.2011 в 14:38.
Летучий_СкилетиК вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фортран выдает ошибку train88 Помощь студентам 1 05.01.2011 18:21
Выдает ошибку( И.А.А. Общие вопросы C/C++ 1 21.05.2010 19:10
выдает ошибку! maksim_serg Microsoft Office Word 3 20.04.2010 04:19
Макрос выдает ошибку Romuald Microsoft Office Excel 2 15.04.2009 22:42