Programozó versenyek

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

2014. április 8. 18:05 – 2014. április 8. 19:50

Bővítés karakterrel

Írjon függvényt, amely paraméterként megkap egy sztringet, egy karaktert és egy 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 elsőként megadott sztringbe az egész számmal megadott pozícióra beszúrjuk a megadott karaktert! Ha az egész szám értéke legalább akkora lenne, mint a bővítendő sztring hossza, akkor a karaktert egyszerűen csak a sztring végéhez fűzzük.

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 s[ 1000 ], c;
  6.   int n;
  7.   char *insert( char *, char, int );
  8.   while ( scanf( "%s %c%d", s, &c, &n ) != EOF )
  9.   {
  10.     char *p = insert( s, c, 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. sztring k 0
  2. sztring k 1
  3. sztring k 7
  4. sztring k 10
letöltés szöveges állományként

A példa bemenethez tartozó kimenet

  1. ksztring
  2. skztring
  3. sztringk
  4. sztringk
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.