Grösste Zahl



  • Hallo Leute!

    Wie kann ich dass den schreiben, wenn die Zahleneingabe nicht vorgegeben ist, sondern beliebig oft eine Zahl eingegeben werden kann und er dann von den Zahlen die grösste Aussuchen soll und die wievielte das war??
    Habe da keine Idee. Wäre nett wenn ihr eine hättet.

    int main ()
    
    {
    	double zahl1;
    	double zahl2;
    	double zahl3;
    	double zahl4;
    	double zahl5;
    	double max;
    
    	cout << "Geben Sie eine Zahl ein: ";
    	cin >> zahl1;
    
    	cout << "Geben Sie eine weitere Zahl ein: ";
    	cin >> zahl2;
    
    	cout << "Geben Sie die dritte Zahl ein: ";
    	cin >> zahl3;
    
    	cout << "Geben Sie die vierte Zahl ein: ";
    	cin >> zahl4;
    
    	cout << "Geben Sie die letzte Zahl ein: ";
    	cin >> zahl5;
    
    	max = zahl1;
    	int zahl =1;
    
    	if (zahl2 > zahl1)
    	{
    		max = zahl2;
    		zahl = 2;
    	}
    	if (zahl3 > zahl2)
    	{
    		max = zahl3;
    		 zahl = 3;
    	}
    	if (zahl4 > zahl3)
    	{
    		max = zahl4;
    		 zahl=4;
    	}
    	if (zahl5 > zahl4)
    	{
    		max = zahl5;
    	zahl=5;
    	}
    
    	cout << "Die groesste Zahl ist: " <<max << " und Sie ist an Position: " << zahl <<endl;
    
    	return 0;
    
    }
    

    😕



  • Beispielsweise so mit einer do while schleife:

    using namespace std;
    int main()
    {
    
    	double neuezahl;
    	double max = 0.0;
    	int zaehler = 0;
    	char c;
    
    	do
    	{
    	    cout << "Geben sie eine Zahl ein : ";
    	    cin >> neuezahl;
    	    if (neuezahl > max)
    	    {
    	        max = neuezahl;
    	        ++zaehler;
    	    }
    	    cout << "Noch eine Zahl ? (j/n)";
    	    cin >> c;
    	} while (c != 'n');
    	cout << "Die größte Zahl war " << max << " ; an Position : " <<
    	zaehler << std::endl;
    
    	return 0;
    }
    

    Tschau



  • Du meinst du gibts ne Zahl ein und in der nächsten Zeile kann man dann wieder was eingeben? Das würd ich mit ner Endlosschleife machen:

    while(true)
    {
       cin >> Zahl;
         .
         .
         .
    }
    


  • Hallo,

    so könntest du es auch machen:

    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char **argv) {
      const unsigned int SIZE = 3;
      double x[SIZE];
    
      unsigned int i=0;
      for (;i<SIZE;++i) {  //Einlesen
        cout<<"Bitte "<<i+1<<". Zahl eingeben: ";
        cin>>x[i];
      }
    
      //Maximum bestimmen
      unsigned int max=0;
      for (i=0;i<SIZE;++i)
        if (x[i] > x[max])
          max = i;
    
      //Ausgabe
      cout<<"Die groesste Zahl aus";
      for (i=0;i<SIZE;++i)
        cout<<' '<<x[i];
      cout<< war "<<x[max]<<'\n';
    
      return 0;
    }
    

    MfG

    GPC


Anmelden zum Antworten