Programozó versenyek

Levelező Magas szintű programozási nyelvek 1 beugró, 2016. május 30.

2016. május 30. 13:10 – 2016. május 30. 16:10

Fordítás

Írjon eljárást, amely paraméterként megkap egy állománynevet, egy sztringeket tartalmazó egydimenziós tömb kezdőcímét, valamint a tömb elemszámát! Az eljárás a tömb módosítása nélkül írja ki a megadott nevű szöveges állományba soronként a tömb azon elemeit megfordítva, amelyek nem angol betűvel kezdődnek! (Segítség: lásd az isalpha() függvényt.)

Az eljárás specifikációja

void fordit(char *, char *[], int);

Megjegyzés

Az eljárást helyezze a fordit.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. void fordit(char *, char *[], int);
  4. int main()
  5. {
  6.   char *t[] = {"alma", "1 alma", "*alma*"};
  7.   FILE *f;
  8.   int c;
  9.   fordit("kimenet.txt", t, 3);
  10.   f = fopen("kimenet.txt", "r");
  11.   while ((c = fgetc(f)) != EOF)
  12.     putchar(c);
  13.   fclose(f);
  14.   return EXIT_SUCCESS;
  15. }
letöltés szöveges állományként

Makefile

  1. SRCS = main.c fordit.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. amla 1
  2. *amla*
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.