Programozó versenyek

Magas szintű programozási nyelvek 1, 2014. április 8., K16 ZH

2014. április 8. 16:05 – 2014. április 8. 17:50

Bővítés sztringgel

Írjon függvényt, amely paraméterként megkap két sztringet, valamint egy nemnegatív egész számot! A függvény – a paramétereként megkapott sztringek megváltoztatása nélkül – állítson elő és adjon vissza egy olyan új sztringet, amelyet úgy kapunk, hogy az első paraméterként megadott sztringbe a harmadik paraméterként megadott egész számmal jelzett pozíciótól kezdve beszúrjuk a második paraméterként megadott sztringet! Ha az egész szám értéke legalább akkora lenne, mint a bővítendő sztring hossza, akkor a két sztringet egyszerűen csak össze kell fűzni egymással.

A függvény specifikációja

char *insert( char *, char *, int );

Megjegyzés

A függvényt helyezze a insert.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 s1[ 1000 ], s2[ 1000 ];
  6.   int n;
  7.   char *insert( char *, char *, int );
  8.   while ( scanf( "%s%s%d", s1, s2, &n ) != EOF )
  9.   {
  10.     char *p = insert( s1, s2, n );
  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 insert.o
  3. TARGETS = main
  4. all: $(TARGETS)
  5. main: main.o insert.o
  6. $(CC) main.o insert.o -o main
  7. main.o: main.c
  8. $(CC) -c main.c
  9. insert.o: insert.c
  10. $(CC) -c insert.c
  11. clean:
  12. rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként

Példa bemenet

  1. almag ma 2
  2. almag ma 4
  3. alma mag 4
  4. alma mag 10
  5. mag alma 0
  6. kerekerdő erek 5
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. almamag
  2. almamag
  3. almamag
  4. almamag
  5. almamag
  6. kerekerekerdő
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2019.03.01.