|
Kötélhúzás
Adott a következő fejlécállomány:
myheader.h
#ifndef _MYHEADER_H #define _MYHEADER_H 1
int foo(char *);
#endif /* myheader.h */
letöltés szöveges állományként
Egy falunap fénypontjaként a falusiak kötélhúzóversenyt rendeztek a mindenre elszánt
jelentkezők között. Jelentkeztek kicsik és nagyok, a gyerekeket 'o'-val, a felnőtteket pedig
'O'-val jelölve mi magunk is könnyen leírhatjuk a két szembenálló csapat felállását.
Írja meg a myheader.h állományban deklarált foo() függvényt, amely
paraméterként megkap egy sztringet, amely kizárólag kis és nagy O betűkből (az 'o' és az 'O'
karakterekből), valamint egyetlen darab mínuszjelből áll. A betű karakterek a
kötélhúzóverseny csapatainak tagjait jelölik, a mínuszjel pedig a két csapatot választja el
egymástól. A függvény határozza meg és adja vissza azt, hogy mekkora a két csapat ereje
közötti különbség, ha feltételezzük, hogy egy felnőtt kétszer akkora erővel húzza a kötelet,
mint egy gyerek! Ha az első (bal oldali csapat) az erősebb, akkor pozitív, ha a második (jobb
oldali) csapat az erősebb, akkor negatív értéket, egyébként pedig nullát adjon vissza a
függvény!
Megjegyzés
A függvényt helyezze a foo.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> #include "myheader.h"
int main() { printf("%d\n", foo("Oo-Oo")); printf("%d\n", foo("oOo-OoO")); printf("%d\n", foo("OoOo-oOo")); return EXIT_SUCCESS; }
letöltés szöveges állományként
Makefile
SRCS = main.c foo.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 példa tesztprogram kimenete
0 -1 2
letöltés szöveges állományként
|
|