Wie finde ich die kleinste Zahl?


Xalo

Grünschnabel
Hallo, ich mache gerade eine Übungsaufgabe von der Uni aber ich kann damit nichts anfangen, wäre nett wenn mir jemand helfen könnte? Ich muss die kleinste Zahl suchen:
# Smallest Number
In dieser Aufgabe suchen sie in einem Array von Integern die kleinste positive Zahl.
## Aufgabe
Schreiben Sie ein Programm, das aus den Eingabedaten die kleinste Zahl ausgibt.
### Eingabe
Die Eingabe erfolgt von _stdin_ und hat folgendes Format:
* Zeile 1: N, die Anzahl an Zahlen, die zu prüfen sind, wobei `0 <= N < 10000`
* Zeile 2: ein string mit N Zahlen j, wobei `-INT_MAX <= j <= INT_MAX`
Eventuelle zusätzliche Eingabezeilen sind zu ignorieren.
### Ausgabe
Das Ergebnis ist auf _stdout_ auszugeben.
* Wurden keine Zahlen eingegeben (N==0) so ist 0 auszugeben.
### Beispiel
Eingabe
5
1 -2 -8 4 5
Ausgabe
-8
### Hinweise
* Verwenden Sie die Datei `smallest.c` als Vorlage für Ihre Implementation.
* Debug Meldungen können Sie auf _stderr_ ausgeben (`fprintf(stderr, "Debug Message ...\n")`)
Und das ist der Code soweit:
C:
#include <stdlib.h>

#include <stdio.h>

#include <string.h>

#include <limits.h>


// To debug: fprintf(stderr, "Debug messages...\n");

int main(void) {

   int n; // number of ints to check, 0 <= n < 10000

   scanf("%d", &n);

   for (int i = 0; i < n; i++) {

       int j; // number, -INT_MAX <= j <= INT_MAX

       scanf("%d", &j);

       // do your MAGIC here

   }

   // Write an action using printf(). DON'T FORGET THE TRAILING \n

   printf("%d\n", INT_MAX);


   return 0;

}
 
Zuletzt bearbeitet von einem Moderator:

cwriter

Erfahrenes Mitglied
Hallo, ich mache gerade eine Übungsaufgabe von der Uni aber ich kann damit nichts anfangen, wäre nett wenn mir jemand helfen könnte?
Array dynamischer Grösse
C:
int* array = malloc(sizeof(int) * n);

//...

// Freigeben
free(array);
Dann musst du das Minimum suchen:
C:
minimum = minimum > x ? x : minimum;
Den Array brauchst du dabei nicht, du kannst auch direkt das j als x verwenden, um das Minimum zu finden (online-Algorithmus).

Ansonsten: Was genau ist dir nicht klar?

Gruss
cwriter
 

Xalo

Grünschnabel
Erstmal vielen dank für deine Antwort, ich muss leider sagen das ich das ganze noch nicht so verstanden habe weil wir erst vor kurzem mit c angefangen habe und mir die Syntax noch nicht ganz so läufig ist. Kannst du mir erklären wie ich das mache also die Zahl rauskriegen ?
 

Xalo

Grünschnabel
Sorry, das ist das erstemal das ich was in das Forum schreibe, beim nächsten mal werde ich das beachten. ^^
 

cwriter

Erfahrenes Mitglied
Kannst du mir erklären wie ich das mache also die Zahl rauskriegen ?
Nach dem scanf() ist der aktuelle Wert in j.
Für die absoluten Grundlagen ist es oft schneller, ein existierendes Tutorial zu lesen und dann gezielt Fragen zu stellen. Als Frage/Antwort-Spiel wird das oft unübersichtlich.


Gruss
cwriter
 

Xalo

Grünschnabel
Danke dir nochmals, ich schau mal jetzt ob ich das irendwie hinkriege mit dem was ich mache.