Informatik2_Pr/vielmax.c
2025-04-04 11:58:10 +02:00

37 lines
1.2 KiB
C

#include <stdio.h>
#include <stdarg.h>
void vielmax(int x, ...){ //x gibt die Anzahl der eingelesenen Zahlen an //... sind die unbennanten Parameter
int zahl;
int vorgaenger = 0, max = 0; //Die Variablen werden benötigt, damit die Ausgabe der größten Zahl funktioniert.
va_list vielmax; //definiert die Variadische Funktion
va_start(vielmax, x); //übergibt die Anzahl an unbekannten Parametern
for (int i = 0; i < x; ++i) {
zahl = va_arg(vielmax,int); //Ließt durch die for-Schleife immer den nächsten Parameter ein
//Findet den größten wert heraus
if(zahl >= vorgaenger){
max = zahl;
}else if (zahl == 0){
break;
}
printf("%d ", zahl);
vorgaenger = zahl;
}
printf("ist: %d", max);
va_end (vielmax); //Gibt den Speicher wieder frei
}
int main(void){
printf("Testprogramm fuer Funktion vielmax()\n");
printf("====================================\n\n");
printf("Das Maximum der Zahlen ");
// vielmax(100, 24, 5226, 3243, 8238, 23, 22, 1, 0); //100 ist die maximale Anzahl der eingelesenen Zahlen
// vielmax(100,3, 6, 0, 10, 12,0);
// vielmax(5, 7, 8, 3, 4, 1, 19, 0);
}