Hallo habe Probleme eine for Schleife in eine while Schleife umzuwandeln. Vielleicht könnt ihr mir helfen 
Bei :
for (i=0; i < ende; ++i)//
Wenn ich diese for Schleife in Zeile 47 anstelle der while Schleife einsetzte funktionert das Programm
Dachte zunächst das es in einer while Schleife so heißen müsste:
Int i=0; // in Zeile 47 eingesetzt anstelle der for Schleife
While (i < ende)
{i++}
Wenn ich dass jedoch so einsetze werden meine Zahlen nicht mehr richtig sortiert.
Also kann ja irgendwas an meiner Interpretation von for in while nicht stimmen.

Bei :
for (i=0; i < ende; ++i)//
Wenn ich diese for Schleife in Zeile 47 anstelle der while Schleife einsetzte funktionert das Programm
Dachte zunächst das es in einer while Schleife so heißen müsste:
Int i=0; // in Zeile 47 eingesetzt anstelle der for Schleife
While (i < ende)
{i++}
Wenn ich dass jedoch so einsetze werden meine Zahlen nicht mehr richtig sortiert.
Also kann ja irgendwas an meiner Interpretation von for in while nicht stimmen.
C++:
#include <iostream>
#include <iomanip>
using namespace std;
int main ()
{int i, a ,b;
const int max=100;
double zahl [max];
cout << "Ganze Zahlen sortieren" << endl;
//zahlen einlesen
cout << "Bis zu 100 ganze Zahlen eingeben" << endl;
cout << "Abbruch mit einem Buchstaben" << endl;
cin >> b;
i=0;
while (i < b)
{
cin >> zahl[i];
++i;
a=i;
}
//zahlen sortieren
int falsch,richtig;
falsch=0;
richtig=1;
bool sortiert = falsch; // Noch nicht sortiert ..... sortiert = 0 ... anfangswert 0
long hilf;
int ende= a; // ende eines durchlaufs ..... a wird zu ende ... a war unser i ... also wird a zu ende
while ( !sortiert) // solange noch nicht
{
sortiert = richtig; //sortiert ........ sortiert = 1
--ende; // von ende das früher i war wird jeden durchgang einer abgezogen
int i=0;
While (i < ende)
{i++}
{ if (zahl [i] > zahl [i+1])
{ sortiert = falsch;
hilf = zahl [i];
zahl [i] = zahl [i+1];
zahl [i+1]=hilf;
}}}
// zahlen ausgeben
cout << "Die sortierten Zahlen" << endl;
for (i=0; i < a ; ++i)
cout << setw(10) << zahl [i];
cout << endl;
system ("PAUSE");}
Zuletzt bearbeitet: