Programozó versenyek

Magas szintű programozási nyelvek 1, 2014. április 9., Sz14 ZH

2014. április 9. 14:05 – 2014. április 9. 15:50

Labdarúgó eredmények

Írjon függvényt, amely a paramétereként megkapott tetszőleges hosszúságú sztringről eldönti, hogy az egy labdarúgó-mérkőzés eredményét leíró szöveg-e! Egy labdarúgó-mérkőzés eredményét leíró szöveg a következő alakú:

egyik_csapat_neve - másik_csapat_neve előjel_nélküli_egész_szám:előjel_nélküli_egész_szám

A csapatok neve betűvel kezdődik, és betű, számjegy vagy kötőjel (mínuszjel) karaktereket tartalmazhat, az előjel nélküli egész szám pedig egy decimális számjegyekből álló karaktersorozat. A csapatok nevét elválasztó kötőjel (mínuszjel) előtt és mögött pontosan egy szóköz karakter található. A csapatok nevében előforduló kötőjel (mínuszjel) karakter előtt és mögött betű karakter áll. Az eredményt a csapatnevektől pontosan egy szóköz karakter választja el. Kettőspont kizárólag az eredményt leíró részben fordulhat elő a sztringben, a két csapat eredményét választja el egymástól, szóköz karakterek nélkül.

Ha a sztring ilyen alakú, akkor a függvény igaz értéket, egyébként hamisat adjon vissza!

A függvény specifikációja

int is_match_result( char * );

Megjegyzés

A függvényt helyezze a result.c nevű állományba, és ezt az állományt küldje be megoldásként a kiértékelő rendszernek! Megoldását a példa bemenetben szereplő adatokkal az alábbi két állomány segítségével tesztelheti. Megoldásának kiértékelését a tesztelő rendszer nem feltétlenül ezeknek az állományoknak a felhasználásával végzi!

main.c

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.   char line[ 1000 ];
  6.   int is_match_result( char * );
  7.   while ( gets( line ) != NULL )
  8.     if ( is_match_result( line ) )
  9.       puts( "YES" );
  10.     else
  11.       puts( "NO" );
  12.   return EXIT_SUCCESS;
  13. }
letöltés szöveges állományként

Makefile

  1. CC = gcc
  2. OBJS = main.o result.o
  3. TARGETS = main 
  4. all: $(TARGETS)
  5. main: main.o result.o
  6. $(CC) main.o result.o -o main
  7. main.o: main.c
  8. $(CC) -c main.c
  9. result.o: result.c
  10. $(CC) -c result.c
  11. clean:
  12. rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként

Példa bemenet

  1. Real-Madrid - Barcelona 3:4
  2. Real-Madrid - Barcelona 003:04
  3. A- - B 0:0
  4. Real Madrid - Barcelona 3:4
  5. Real-Madrid -Barcelona 3:4
  6. Real-Madrid - Barcelona 3 : 4
  7. Real-Madrid - Barcelona 3:-4
  8. Real-Madrid - Barcelona 3:x
  9. Real-Madrid - Barcelona  3:4
  10. 1team - Other-team 1:2
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. YES
  2. YES
  3. NO
  4. NO
  5. NO
  6. NO
  7. NO
  8. NO
  9. NO
  10. NO
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.