Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Таблица с абитуриентами

Автор: Schumi 2.05.2007 0:41

Ребята, нужна помощь.
смысл задачи таков:
вводится 5 абитуриентов и 5 предметов
паскаль заполняет всю таблицу оценками и высчитывает средний балл.
потом надо расставить абитуриентов по рейтингу в зависимости от среднего бала.
я сделал только до рейтинга
вот

Код
program tabel10A;
uses wincrt;
Var familii:array [1..5] of string[7];
Var predmetu:array [1..5] of string[3];
var srb:array [1..3] of integer;
Var otcenki: array [1..5,1..5] of integer;
Var i,j:integer;
Var a,b,c,d,e;real;
begin;
Begin randomize;
For i:=1 to 5 DO for j:= 1 to 5 do Otcenki [i,j]:=random(6-2)+2;
end;
writeln('введите фамилии');
for i:=1 to 5 do readln(familii[i]);
writeln('введите предметы');
For i:= 1 to 5 do readln(Predmetu[i]);
writeln;
For j:= 1 to 72 do write('_');
writeln;
write('| ФИО   |');
For i:= 1 to 5 do begin write('   ',predmetu[i],'    |') end;
write('  Ср.б. ','  |');
write ('');
writeln;
For j:= 1 to 72 do write('=');
writeln;
write('|');
write(familii[1],' |    ',otcenki[1,1],'     |      ', otcenki [1,2], '   |   ',
otcenki [1,3],'      |     ', otcenki[1,4],'    |  ', otcenki [1,5], '   |    ');
a:=(otcenki[1,1]+otcenki[1,2]+otcenki[1,3]+otcenki[1,4]+otcenki [1,5])/5;
write(a:6:2,'  |');
writeln;
For j:= 1 to 72 do write('=');
writeln;
write('|');
write(familii[2],' |    ',otcenki[2,1],'     |      ', otcenki [2,2], '   |   ',
  otcenki [2,3],'      |     ', otcenki[2,4],'    |  ', otcenki [2,5], '   |    ');
b:=(otcenki[2,1]+otcenki[2,2]+otcenki[2,3]+otcenki[2,4]+otcenki [2,5])/5;
write(b:6:2,'  |');
writeln;
For j:= 1 to 72 do write('=');
writeln;
write('|');
write(familii[3],' |    ',otcenki[3,1],'     |      ', otcenki [3,2], '   |   ',
otcenki [3,3],'      |     ', otcenki[3,4],'    |  ',otcenki [3,5], '   |    ');
c:=(otcenki[3,1]+otcenki[3,2]+otcenki[3,3]+otcenki[3,4]+otcenki [3,5])/5;
write(c:6:2,'  |');
writeln;
For j:= 1 to 72 do write('=');
writeln;
write('|');
write(familii[4],' |    ',otcenki[4,1],'     |      ', otcenki [4,2], '   |   ',
otcenki [4,3],'      |     ', otcenki[4,4],'    |  ', otcenki [4,5], '   |    ');
d:=(otcenki[4,1]+otcenki[4,2]+otcenki[4,3]+otcenki[4,4]+otcenki [4,5])/5;
write(d:6:2,'  |');
writeln;
For j:= 1 to 72 do write('=');
writeln;
write('|');
write(familii[5],' |    ',otcenki[5,1],'     |      ', otcenki [5,2], '   |   ',
otcenki [5,3],'      |     ', otcenki[5,4],'    |  ', otcenki [5,5], '   |     ');
e:=(otcenki[5,1]+otcenki[5,2]+otcenki[5,3]+otcenki[5,4]+otcenki [5,5])/5;
write(e:6:2,'  |  ');
writeln;
For j:= 1 to 72 do write('=');
writeln;
end

помогите составить рейтинг
а то ничего не получается.
Заранее Спасибо.

Добавлено через 4 мин.
точнее расставить абитуриентов в таблице по рейтингу

Автор: Schumi 2.05.2007 1:58

Срочно ребята!!!
Очень надо!

Автор: Rom1k 2.05.2007 2:08

а это обязательно в массиве делать?

Автор: Schumi 2.05.2007 2:12

не уверен.
я думаю что-то можно переделать.
если получится, выложи пожалуйста текст проги.
заранее спс.

Автор: Rom1k 2.05.2007 2:14

а вы изучали записи,списки?

Автор: Schumi 2.05.2007 2:17

хз blink.gif ....нет

Добавлено через 1 мин.
вроде бы нет

Автор: мисс_граффити 2.05.2007 2:19

Количество абитуриентов задано, поэтому я не вижу смысла в использовании списков.
А вот записи... Задача явно на них. Уточняй у препода.

Автор: Schumi 2.05.2007 2:23

если б мог спросить.
надо позарез иначе будет фигово.
Ребята на вас одна надежда.
а что там за списки то?

Автор: Rom1k 2.05.2007 2:26

оу.ну я даже не знаю.поищи тут же в поиске "Записи".
2мисс_граффити
я не такой умный,как Вы!

Автор: Schumi 2.05.2007 2:29

Помогите усовершенствовать мою.
Плиз

Автор: мисс_граффити 2.05.2007 2:36

усовершенствовать-то не проблема.
только как ты будешь с преподом объясняться, если вы этого вообще не проходили?..

Цитата
я не такой умный,как Вы!

это вообще к чему?

Автор: Schumi 2.05.2007 2:39

Цитата
только как ты будешь с преподом объясняться, если вы этого вообще не проходили?..

да без разницы
главное-результат-таблица, а на текст препод не смотрит.
Плиз, помоги

Автор: Schumi 2.05.2007 3:21

Мне до завтрашнего утра, точнее до 8-9 утра надо.
Помогите, Плиз!!

Автор: Schumi 2.05.2007 4:05

Ребята, у меня вопрос: мне есть на что надеяться?

Все равно всем спасибо!

Автор: мисс_граффити 2.05.2007 4:06

я не понимаю, чего ты хочешь
на код он не смотрит? зачем тогда усовершенствования кода? не похоже, что стремишься разобраться...

Автор: Schumi 2.05.2007 4:10

В смысле на код не смотрю?
Не совсем тебя понял.
У меня ступор на этом, не получается их по рейтингу расставить.
Я сегодня и так целый день сижу с этой прогой.

Помогите плиз.

Добавлено через 16 мин.
Юля, на тебя одна надежда.
Помоги пожалуйста.
Усовершенствуй, если не сложно. ПОЖАЛУЙСТА. Очень Прошу.

ЗАРАНЕЕ ГИГАНТСКОЕ СПАСИБО!

З.Ы. Только до утра плиз, а то мне завтра рано вставать.

Автор: мисс_граффити 2.05.2007 4:28

так?

type student=record
familia: string[10];
ocenka: array[1..5] of byte;
srb: real;
end;

var abitura: array[1..5] of student;
vsp: student;
i,j: integer;

begin
for i:=1 to 5 do
with abitura[i] do
begin
writeln('familia?');
readln(familia);
srb:=0;
for j:=1 to 5 do
begin
writeln('ocenka ',j,'?');
readln(ocenka[j]);
srb:=srb+ocenka[j];
end;
srb:=srb/5;
end;

for i:=1 to 4 do //исключительно корявая и неэффективная сортировка. можешь взять любую другую
for j:=1 to 4 do
if abitura[j].srb>abitura[j+1].srb then
begin
vsp:=abitura[j];
abitura[j]:=abitura[j+1];
abitura[j+1]:=vsp;
end;

for i:=1 to 5 do //можешь выводить и другие поля...
write( abitura[i].familia:10);
writeln;
for i:=1 to 5 do
write( abitura[i].srb:10:3);
readln;
end.


мне самой в 8 утра курсовик показывать... и что теперь? я ж никого не напрягаю тем, что вовремя его не села делать ;)

Автор: Schumi 2.05.2007 4:30

ОГРОМНЫЙ РЕСПЕКТ!!!!!!!



Если не сложно с какого момента это нужно вставить в мою прогу?

Автор: мисс_граффити 2.05.2007 4:35

это - ПОЛНАЯ прога.
к твоей отношения не имеет

Автор: Schumi 2.05.2007 4:39

Я когда пытаюсь запустить он мне ошибку выдает Runtime error 105
что это такое?

Автор: мисс_граффити 2.05.2007 4:41

в каком месте?
после каких твоих действий?
мне ничего плохого не выдает....

Автор: Schumi 2.05.2007 4:43

разобрался...))
вверху надо было написать програм....uses wincrt и все заработало.
а можно это соединить в одну прогу?

Автор: мисс_граффити 2.05.2007 4:47

у меня и без этого работает.

что с чем - в одну прогу?

Автор: Schumi 2.05.2007 4:48

Просто мне как бы нужна таблица, в смысле внешне, как в моей проге с графами и т.д....

Добавлено через 1 мин.
твою прогу с моей

Автор: мисс_граффити 2.05.2007 4:50

ну добавь рисование полосочек всяких
или ты хочешь, чтобы это тоже я сделала???

Автор: Schumi 2.05.2007 4:52

палочки то ладно, я ,как ты видела, делал заполнение построчно, у тебя же все по-другому.
вот и думаю как это в твоей проге сделать.


Автор: мисс_граффити 2.05.2007 4:54

blink.gif
как - по-другому???
тоже построчно.
одна строка - фамилии, потом строка со средними баллами.

Автор: Schumi 2.05.2007 4:55

ну у меня еще и предметы есть-5 штук
в этом то и сложность.

Автор: мисс_граффити 2.05.2007 4:58

ну добавь предметы - еще один массив из строк
что изменится-то?

Автор: Schumi 2.05.2007 5:02

Ну для тебя это легко, для меня же не очень(я еле у сделал
я не ас в паскале, ты другое дело, шаришь в нем отлично

З.Ы. Блин, Мама заставляет идти спасть, что ж придется послушаться.

З.з.ы.

Цитата
или ты хочешь, чтобы это тоже я сделала???

заметь, я этого не предлагал))))))

З.з.з.ы. еще раз спасибо за помощь give_rose.gif, хоть я и не во всем разобрался, а жаль

Добавлено через 1 мин.
Спокойной ночи!