Другие языки программирования и технологии

Помогите с паскалем. бесплатно пожалуйста (

задача скачки
Николай николаевич, прийдя на ипподром поставил ставку на скакуна с номером k, но сначаала решил проверить, сможет ли этот скакун выграть всех остальных. Для этого он раздобыл информацию, которой для некоторых пар скакунов сообщалось, какой из них бежит быстрее, у всех скакунов скорости разные. составить программу которая поможет Николаю николаевичу узнать может ли его скакун выграть или нет
Совершенно не понял условия задачи, но вот программа:

PROGRAM test;

USES crt;

CONST N = 3; MAX_HORSES_COUNT = 6;

TYPE T_HORSE_ARRAY = RECORD
names : ARRAY [1..MAX_HORSES_COUNT] OF STRING;
count : INTEGER;
END;

FUNCTION Check_Horse_In_Array(horses :T_HORSE_ARRAY; checkName :STRING) :BOOLEAN;
VAR y : INTEGER;
result : BOOLEAN;
BEGIN
result := False;
FOR y := 1 TO horses.count
DO result := result OR (checkName = horses.names[y]);
Check_Horse_In_Array := result;
END;

PROCEDURE Add_Horse_To_Array(var horses :T_HORSE_ARRAY; checkName :STRING);
BEGIN
IF NOT(Check_Horse_In_Array(horses, checkName))
THEN BEGIN
INC(horses.count);
horses.names[horses.count] := checkName;
END;
END;

PROCEDURE Write_Array(horses :T_HORSE_ARRAY);
VAR y :INTEGER;
BEGIN
FOR y := 1 TO horses.count
DO Write(horses.names[y] + ' ');
WriteLn();
END;

VAR skachki : ARRAY[1..N] OF RECORD
looser :STRING;
winner :STRING;
END;

different_horses : T_HORSE_ARRAY;
looser_horses : T_HORSE_ARRAY;
winner_horses : T_HORSE_ARRAY;

horse_exists : BOOLEAN;

test_horse_name : STRING;
x : INTEGER;

BEGIN
clrscr;

skachki[1].looser := 'буцефал';
skachki[1].winner := 'хрюн';

skachki[2].looser := 'буцефал';
skachki[2].winner := 'мымзик';

skachki[3].looser := 'мымзик';
skachki[3].winner := 'хрюн';

different_horses.count := 0;
winner_horses.count := 0;
looser_horses.count := 0;

FOR x := 1 TO N
DO BEGIN

Add_Horse_To_Array(different_horses, skachki[x].winner);
Add_Horse_To_Array(different_horses, skachki[x].looser);

END;

WriteLn('У нас тут представлены кони: ');
Write_Array(different_horses);
WriteLn('Вам какого? ');

horse_exists := False;

Write('Введите имя коня: ');
ReadLn(test_horse_name);

IF NOT(Check_Horse_In_Array(different_horses, test_horse_name))
THEN BEGIN
WriteLn('Такого коня в конюшне нет! ');
EXIT;
END;

FOR x := 1 TO N
DO BEGIN

IF (skachki[x].looser = test_horse_name)
THEN Add_Horse_To_Array(winner_horses, skachki[x].winner);

IF (skachki[x].winner = test_horse_name)
THEN Add_Horse_To_Array(looser_horses, skachki[x].looser);

END;

IF (looser_horses.count = different_horses.count - 1)
THEN WriteLn('Ваш конь круче всех! Доказано. Занусси. ')
ELSE IF (looser_horses.count > 0)
THEN BEGIN
WriteLn('Ваш конь круче вот этих лошадок: ');
Write_Array(looser_horses);
END;

IF (winner_horses.count = different_horses.count - 1)
THEN WriteLn('Ваш конь - лузер. ')
ELSE IF (winner_horses.count > 0)
THEN BEGIN
WriteLn('Ваш конь проигрывает вот этим лошадкам: ');
Write_Array(winner_horses);
END;

IF (winner_horses.count = 0) AND (looser_horses.count = 0)
THEN WriteLn('Ваш конь - "тёмная" лошадка');

ReadLn();
END.
Сергей Довбыш
Сергей Довбыш
24 825
Лучший ответ
а почему нет никаких значений.?