|
Konkatenáció
Írjon függvényt, amely paraméterként megkapja egy sztringeket tartalmazó kétdimenziós tömb
kezdőcímét, valamint sorainak és oszlopainak számát! A függvény az eredeti tömb módosítása
nélkül hozzon létre egy új, sztringeket (karaktermutatókat) tartalmazó egydimenziós tömböt
(vektort), amelynek elemeit az eredeti tömb soraiban található sztringek konkatenálásával
kapjuk meg, majd adja vissza e tömb kezdőcímét!
A függvény specifikációja
char **concat( char *[], int, int );
Megjegyzés
A függvényt helyezze a concat.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 három á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!
myheader.h
#ifndef _MYHEADER_H#define _MYHEADER_H 1char **concat( char *[], int, int );#endif /* myheader.h */
letöltés szöveges állományként
main.c
#include <stdio.h>#include <stdlib.h>#include "myheader.h"#define N 3#define M 4int main(){ char *t[ N ][ M ] = { { "Cser", "hat", "szent", "ivan" }, { "Boldog", "ko", "var", "alja" }, { "Hod", "mezo", "vasar", "hely" } }; int i, j; char **p; p = concat( &t[ 0 ][ 0 ], N, M ); for ( i = 0; i < N; ++i ) { printf( "*%s*\n", p[ i ] ); free( p[ i ] ); } free( p ); return EXIT_SUCCESS;}
letöltés szöveges állományként
Makefile
CC = gccOBJS = main.o concat.oTARGETS = mainall: $(TARGETS)main: main.o concat.o $(CC) main.o concat.o -o mainmain.o: main.c $(CC) -c main.cconcat.o: concat.c $(CC) -c concat.cclean: rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként
A fenti program kimenete
*Cserhatszentivan**Boldogkovaralja**Hodmezovasarhely*
letöltés szöveges állományként
|
|