Programozó versenyek

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

2014. április 9. 10:05 – 2014. április 9. 11:50

Részsztring törlése

Írjon függvényt, amely paraméterként megkap egy sztringet és két nemnegatív egész számot! A függvény a paramétereként megkapott sztring megváltoztatása nélkül hozzon létre és adjon vissza egy olyan új sztringet, amelyet úgy kapunk, hogy az eredeti sztringből kivágjuk és eltüntetjük azt a részsztringet, amelyik az első egész számmal jelzett pozíción kezdődik és a második számmal jelzett pozíción ér véget, az eredeti sztring megmaradt részeit pedig összefűzzük! Ha az első szám nagyobb lenne a másodiknál, illetve ha a második szám legalább akkora, mint a sztring hossza, akkor a sztringet az első szám által jelzett pozíciótól a végéig csonkolja a függvény!

A függvény specifikációja

char *delete( char *, int, int );

Megjegyzés

A függvényt helyezze a delete.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 s[ 1000 ];
  6.   int n1, n2;
  7.   char *delete( char *, int, int );
  8.   while ( scanf( "%s%d%d", s, &n1, &n2 ) != EOF )
  9.   {
  10.     char *p = delete( s, n1, n2 );
  11.     puts( p );
  12.     free( p );
  13.   }
  14.   return EXIT_SUCCESS;
  15. }
letöltés szöveges állományként

Makefile

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

Példa bemenet

  1. sztring 3 3
  2. sztring 2 3
  3. sztring 4 6
  4. sztring 4 10
  5. sztring 4 3
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. szting
  2. szing
  3. sztr
  4. sztr
  5. sztr
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.