/**************************************************************************************** * Schreiben Sie ein Programm, das die Laenge und Breite eines Platzes einliest und * * ausgibt, wie viele quadratische Platten benoetigt werden, um die Flaeche komplett * * zu bedecken. Dabei sollen so wenig Platten wie möglich verwendet werden. * * * * Beispiel: * * Geben Sie die Laenge des Platzes ein. * * >> Geben Sie eine positive, ganze Zahl ein: gfdgfd * * >> Geben Sie eine positive, ganze Zahl ein: -5 * * >> Geben Sie eine positive, ganze Zahl ein: 55 * * Geben Sie die Breite des Platzes ein. * * >> Geben Sie eine positive, ganze Zahl ein: 0 * * >> Geben Sie eine positive, ganze Zahl ein: rtre * * >> Geben Sie eine positive, ganze Zahl ein: 100 * * Sie benoetigen 220 Platten der Groesse 5x5. * ****************************************************************************************/ #include #include "../io/myio.h" unsigned int inputPositiveNumber(const char *text); unsigned int getGreatestCommonDivisor(unsigned int number1, unsigned int number2); int main() { unsigned int squareWidth = inputPositiveNumber("Geben Sie die Breite des Platzes ein: "); unsigned int sqaureHeight = inputPositiveNumber("Geben Sie die Hoehe des Platzes ein: "); unsigned int tileSize = getGreatestCommonDivisor(squareWidth, sqaureHeight); unsigned int tileCount = (squareWidth * sqaureHeight) / (tileSize * tileSize); printf("Sie benoetigen %d Platten der Groesse %dx%d.\n", tileCount, tileSize, tileSize); return 0; } unsigned int inputPositiveNumber(const char *text) { int number = -1; while(number <= 0) { number = getNumber(text); } return number; } unsigned int getGreatestCommonDivisor(unsigned int number1, unsigned int number2) { while(number2 > 0) { unsigned int error = number1 % number2; number1 = number2; number2 = error; } return number1; }