|
Gördülő összeg
Írjon függvényt, amely paraméterként megkapja egy dupla pontosságú valósakat 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, dupla pontosságú valósakat tartalmazó egydimenziós
tömböt, amelynek annyi eleme van, ahány sora az eredeti tömbnek volt! A függvény az új tömböt
töltse fel az eredeti tömb egyes soraiban található elemek összegeinek gördülő összegével,
majd adja vissza az új tömb kezdőcímét! Másképpen fogalmazva: az új tömb i-edik eleme
az eredeti tömb első i sorában található elemek összegét tartalmazza!
A függvény specifikációja
double *gordulo(double *, int, int);
Megjegyzés
A függvényt helyezze a gordulo.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 állományok 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
#include <stdio.h> #include <stdlib.h>
double *gordulo(double *, int, int);
int main() { double t[3][4] = {{1.0, 2.0, 3.0, 4.0}, {5.0, 6.0, 7.0, 8.0}, {9.0, 10.0, 11.0, 12.0}}; double *p = gordulo((double *)t, 3, 4); int i; for (i = 0; i < 3; ++i) printf("%.3f\n", p[i]); putchar('\n'); free(p); return EXIT_SUCCESS; }
letöltés szöveges állományként
Makefile
SRCS = main.c gordulo.c OBJS = $(SRCS:%.c=%.o) TARGETS = main
.PHONY: clean
all: $(TARGETS)
main: $(OBJS) $(CC) $(OBJS) -o main
%.o: %.c $(CC) -Wall -c $< -o $@
clean: rm -rf $(OBJS) *~ $(TARGETS)
letöltés szöveges állományként
A fenti program kimenete
10.000 36.000 78.000
letöltés szöveges állományként
|
|