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 haben

    auser 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.


Anmelden zum Antworten