Programozó versenyek

Programozási nyelvek 1, 2019. május 23., Cs8 ZH

2019. május 23. 8:05 – 2019. május 23. 9:50

Tükörszavak

Adott a következő fejlécállomány:

myheader.h

  1. #ifndef _MYHEADER_H
  2. #define _MYHEADER_H 1
  3. int foo(const char *, const char *);
  4. #endif /* myheader.h */
letöltés szöveges állományként

Írja meg a myheader.h állományban deklarált foo() függvényt, amely paraméterként megkap két sztringet! A függvény döntse el, hogy a második sztring fordítottja-e az elsőnek, és logikailag igaz értéket adjon vissza akkor, ha igen, egyébként pedig logikailag hamisat!

Megjegyzés

A függvényt helyezze a foo.c nevű állományba, és ezt az állományt küldje be megoldásként a kiértékelő rendszernek! Megoldását az alábbi állományok 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. #include "myheader.h"
  4. int main()
  5. {
  6.     char *t[] = {"aa", "abc", "cba", "bb"};
  7.     int i, j;
  8.     for (i = 0; i < sizeof(t) / sizeof(char *); ++i)
  9.         for (j = 0; j < sizeof(t) / sizeof(char *); ++j)
  10.             printf("%s\n", foo(t[i], t[j]) ? "YES" : "NO");
  11.     return EXIT_SUCCESS;
  12. }
letöltés szöveges állományként

Makefile

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

A példa tesztprogram kimenete

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