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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2009, 00:57   #1
Алекс К.
 
Регистрация: 08.03.2009
Сообщений: 7
По умолчанию массив записи, не могу исправить ошибку

Имеются сведения об N студентах (N – заданное число): фамилия, символьный шифр группы и 4 экзаменационных оценки. Требуется определить наименьшую из средних экзаменационных оценок студентов, а затем для каждой группы получить пронумерованные списки студентов, имеющих такое же значение средней экзаменационной оценки, или выдать сообщение, что таких студентов нет.

Program student;
const
N=4;
K=4;
var
A:array[1..N] of string[15];
B:array[1..N] of integer;
C:array[1..N,1..4] of integer;
D:array[1..K] of integer;
i,j,m,x,Y,z:integer;
min:real;
begin
for m:=1 to k do
begin
writeln('vvesti shifr',m);
readln(D[m]);
end;
for i:=1 to N do
begin
writeln('vvesti familiu',i);
readln(a[i]);
writeln('vvesti shifr');
readln(B[i]);
writeln('vvesti 4 ocenki');
for j:=1 to 4 do
readln(c[i,j]);
end;
min:=(c[1,1]+c[1,2]+c[1,3]+c[1,4])/4;
x:=0;
for i:=1 to n do
begin
for j:=1 to 4 do
x:=C[i,j]+x;
if x/4<min then min:=x/4;
end;
writeln(min:5:3,'-srednya ocenka');
for m:=1 to k do
begin
writeln('gruppa N',m,' shifr ',d[m]);
Y:=0;
for i:=1 to N do
begin
if d[m]=b[i] then
begin
z:=0;
for j:=1 to 4 do
Y:=Y+C[i,j];
if Y/4=min then
begin
writeln('u4enik ',a[i],' polu4il sredn ocenku');
z:=z+1;
end;
if z=0 then writeln('takih u4enikov net');
end;
end;
end;
end.


В результате программа должна выдать либо фамилии того (тех) студентов у кого оценка совпадает с минимальной средней оценкой, либо выдать, что таких студентов нет.
А у меня выдает то и то. ПОМОГИТЕ, ПОЖАЛУЙСТА, ИСПРАВИТЬ!
Алекс К. вне форума Ответить с цитированием
Старый 30.05.2009, 01:00   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Вероятно потому что у вас на последней итерации последнего цикла z обнуляется, а if не выполняется
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 30.05.2009, 02:13   #3
Алекс К.
 
Регистрация: 08.03.2009
Сообщений: 7
По умолчанию

А если z не должно обнуляться, тогда как это сделать?
Алекс К. вне форума Ответить с цитированием
Старый 30.05.2009, 02:28   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

я не смотрел код... вы не потрудились его оформить как следует (я имею ввиду поместить в теги CODE), читать неудобно... как вариант, использовать вместе с z еще какую-либо переменную... но я вообще не понимаю, зачем вы там z обнуляете? Оо..
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку! samuex Microsoft Office Word 1 24.02.2009 22:05
2-мерный массив на ООП, помогите исправить ошибку ul_m Помощь студентам 3 09.01.2009 14:12
Исправить ошибку LLIypLLIyH Помощь студентам 5 16.06.2008 16:50
Помогите исправить ошибку Булат Общие вопросы Delphi 3 25.04.2008 10:01