Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallöchen!!!

Ich hab mal eine frage und zwar versteh ich nicht wie man eine for Schleife in eine while Schleife umwandeln kann. Evt kann mir das ja jemand erklären... Ich weiß ist sicherlich eine doofe frage aber C scheint mir echt nicht zu liegen.

Danke schlnmal im vorraus...

FOR:

für i = 0, lauf solange i kleiner als 100, schrittweise nach vorn

WHILE:

solange mein i kleiner 100 ist, lauf!! vergiß jedoch nicht das i schrittweise zu erhöhen

Moin.

Ganz einfach? Also:

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

}
könnte man so schreiben:
int i = 0;

while(i++ < 10) {

}

Hoffe das hilft.

BTW: Wie immer ohne Gewähr... :D

Also wäre das z.b das is meine for schleife die ich in while umwandeln muss

for (iSchleife = 0; iSchleife < iZaehler; iSchleife++)

    {

        if (sZeile[iSchleife] == 'e')

        {

            sZeile[iSchleife] = 'E';

        }

    }
Das ist mein Versuch...
while

          {

              if (iSchleife < iZaehler)

              {

                   sZeile[iSchleife] =='e';

              }

              printf ("E");

          }

oh stimmt da fehlt die Bedingung...

Aber wie meinste das das ich das innere total verändert hab?

while (iSchleife > iZaehler)     

          {

              if (iSchleife < iZaehler)

              {

                   sZeile[iSchleife] =='e';

              }

              sZeile{iSchleife] = 'E';

          }

Meinst du das das so sein sollte???

ja ich möchte die obige For schleife durch eine while ersetzen... hab nur leider absolut keine ahnung wie das funktioniert... aber das siehst du ja selbst :(

ja ich möchte die obige For schleife durch eine while ersetzen... hab nur leider absolut keine ahnung wie das funktioniert... aber das siehst du ja selbst :(

Ja, man merkts. :e@sy

Fangen wir mal so an:

for (iSchleife = 0; iSchleife < iZaehler; iSchleife++)

    {

        if (sZeile[iSchleife] == 'e')

        {

            sZeile[iSchleife] = 'E';

        }

    }
Als erstes mal das for wegnehmen und die Bedingung mitnehmen...
while(iSchleife < iZaehler)

     {

        if (sZeile[iSchleife] == 'e')

        {

            sZeile[iSchleife] = 'E';

        }

    }
Dann noch die das inkrementieren von iSchleife reinbasteln:
while(iSchleife++ < iZaehler)

     {

        if (sZeile[iSchleife] == 'e')

        {

            sZeile[iSchleife] = 'E';

        }

    }

Und dann müßte das klappen. Kann das grad nicht testen, aber theoretisch sollte das gehen. :rolleyes:

EDIT: Vorher iSchleife noch auf 0 setzen. ;)

Ädit2: Schau mal hier: Volkards C++-Kurs, for-Schleife

Kann das hier leider auch nicht testen mein compiler mag mich bzw mein betriebssytem nicht sonderlich. Werd es morgen ma testen und dir bericht erstatten...

Danke vielmals für deine hilfe und der echt guten Erklärung... Das hab nun selbst ich verstanden :valen

Die folgende FOR-Schleife


#include<stdio.h>


int main(void)

{

int i;


for(i = 0;i <= 10; i++)

{

printf("%d",i);

}


}

würde folgendermaßen aussehen

while(i<=10)

{

printf("%d",i);

i++

}

Man muß auf die Abbruchbedinung achten, da du sonnst eine Endlosschleife bekommst.

Hmm, mich würde ehrlich interesieren, wozu du eigentlich die beiden Zyklen tauschen willst? Gibts da nen speziellen Grund?

Den eigentlich ist das doch nur l Arbeit ohne erkennbaren Lohn! :D

Den eigentlich ist das doch nur l Arbeit ohne erkennbaren Lohn! :D

Ich vermute Schul-/Lehraufgabe, und da is der Sinn ganz einwandfrei gegeben. (Beschäftigen, Verstehen) -> Lernen

Naja, irgendwie klingt das logisch!

Aber am Ende verleitet das die Schüler noch zu irgendwelche Programmierekszessen, einfach weil sie denken, dass ist ganz normal, Zählschleifen durch Kopfabweisende darzustellen.

Sollte mMn eigentlich ganz klar von einander getrennt werden...

Aber ich glaube ich schweife ab :D

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.