Programozó versenyek

Levelező Prog1 gyakorlati számonkérés, 2019. május 20.

2019. május 20. 9:10 – 2019. május 20. 12:10

Útvonalleírások

Írjon függvényt, amely a paramétereként megkapott tetszőleges hosszúságú sztringről eldönti, hogy az egy szabályos útvonalleírást tartalmaz-e! Szabályosnak tekintünk egy útvonalleírást, ha az a következő alakú:

településnév - településnév[ - településnév]...

A településnév minden esetben egy olyan karaktersorozat, amely kizárólag betű és kötőjel (mínuszjel) karaktereket tartalmaz. Két településnév között pontosan három karakter található: egy szóköz, egy kötőjel (mínuszjel) és egy újabb szóköz. A szabályos útvonalleírás legalább két településnevet tartalmaz.

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_route( char * );

Megjegyzés

A függvényt helyezze a route.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_route( char * );
  7.   while ( gets( line ) != NULL )
  8.     if ( is_route( 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 route.o
  3. TARGETS = main 
  4. all: $(TARGETS)
  5. main: main.o route.o
  6. $(CC) main.o route.o -o main
  7. main.o: main.c
  8. $(CC) -c main.c
  9. route.o: route.c
  10. $(CC) -c route.c
  11. clean:
  12. rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként

Példa bemenet

  1. Debrecen - Budapest
  2. Debrecen - Szolnok - Kobanya-Kispest - Budapest-Nyugati
  3. Debrecen
  4. Debrecen-Budapest
  5. Debrecen- Budapest
  6. - Budapest
  7. Debrecen Jozsa - Budapest
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
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.