Finde Fehler nicht! Simples Programm!
-
Hallo liebe Leute ,
finde meinen Fehler einfach nicht
#include <stdio.h> int main() { const int MAX = 5; int array[MAX]; int kleinste; int i; for(i=0;i<MAX;i++){ printf("%d. Zahl > ", i+1); scanf("%d", &array[i]); } for (i=0;i<MAX;i++) { if (kleinste > array[i]) kleinste = array[i]; } printf("Kleinste Zahl = %d", kleinste); return 0;
Krieg im Ergebnis immer nur Mist aber eigentlich ist doch alles richtig ?!
-
Setzt mal die variable kleinste auf 0.
Die kann so einen zufälligen wert habenauser dem muss es bei der if abfrage kleinst< array[i]
-
Sry nicht 0 zuweisen sondern das erste array element.
kleinste=array[0];
-
jo hatte ich vorher auch so ...
jetzt kriege ich als ergebnis immer 0.
kleinste muss doch > array[i] sein...
wenn ich z.b 1,2,3,4,5 eingebe hat kleinste den wert 1.
und überprüft dann, ist 1 größer als 2 ? nein! also bleibt kleinste = 1
-
hab das ganze nochmal in java verfasst doch funktioniert es
import java.util.Scanner; public class Aufgabe2 { private static Scanner in; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub in = new Scanner(System.in); int i ; int[] array; System.out.printf("Wie viele Zahlen wollen Sie eingeben? : "); int groesse = in.nextInt(); array = new int[groesse]; for(i=0;i < array.length;i++) { System.out.printf("%d.Zahl: ",i+1); array[i] = in.nextInt(); } int kleinste = array[0]; for(i=0;i < array.length;i++) { if(kleinste > array[i]) kleinste = array[i]; } System.out.printf("Kleinste Zahl: %d", kleinste); } }
-
Entspricht der Java Quelltext nicht folgendem:
kleinste = array[0]; for (i=1;i<MAX;i++) { if (kleinste > array[i]) kleinste = array[i]; }
Hab von Java keinen Plan denke aber das da Zeile 27:
for(i=1;i < array.length;i++)
auch funktioniert
MfG f.-th.