|
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 1
char **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 4
int 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 = gcc OBJS = main.o concat.o TARGETS = main
all: $(TARGETS)
main: main.o concat.o $(CC) main.o concat.o -o main
main.o: main.c $(CC) -c main.c
concat.o: concat.c $(CC) -c concat.c
clean: 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
|
|