задача скачки
Николай николаевич, прийдя на ипподром поставил ставку на скакуна с номером 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.
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.
а почему нет никаких значений.?
Похожие вопросы
- Помогите с паскалем пожалуйста!!!!
- Помогите с паскалем
- Ааааа....помогите с Паскалем (Pascal)!!!!Срочно!!!!
- Пожалуйста! Помогите с Паскалем! Обещаю 10 баллов!
- помогите с паскалем!!! ужас а не задание!!
- Помогите с Паскалем
- Помогите с паскалем. Помогите написать программу переводящую из 10-ой в 16-ую систему счисления на паскале
- Помогите с паскалем!
- Помогите на паскале умоляю
- Помогите по паскалю