Zmiana pętli for na while

0

Mam pytanie w jaki sposób zmienić pętlę for na while?

#include<stdio.h>


main()
{


    int i,j;
    int s=8;
    int temp;
    int  a[8] = {8, 1, 4, 6, 2, 9, 5, 7};


    for(i=0; i<s; i++)
    {
        for(j=i+1; j<s; j++)
        {
            if(a[i]>a[j])
            {
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }


    for(i=0; i<s; i++)
        printf(" %d",a[i]);

    return 0;
}
4

for(instrukcja_początkowa_jeden_raz_przed_rozpoczęciem;warunek_taki_sam_jak_dla_while;instrukcja_krokowa_tuż_przed_zakończeniem_piętli)

1
#include<stdio.h>

main()
{

int i,j;
int s=8;
int temp;
int  a[8] = {8, 1, 4, 6, 2, 9, 5, 7};

i = 0;
while(i < s)
{
    j = i + 1;
    while (j < s)
    {
        if(a[i]>a[j])
        {
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
        }
        j++;
    }
    i++;
}

i = 0;
while (i < s) {
    printf(" %d",a[i]);
    i++;
    }

return 0;

}
2

Jeśli wewnątrz pętli nie masz instrukcji continue to możesz zrobić tak:

for (INIT; CONDITION; UPDATE)
{
  BODY;
}
{
  INIT;
  while (CONDITION)
  {
    BODY;
    UPDATE;
  }
}
3

Ale po co?

1

Pewnie zadanie domowe z informatyki.

2

Olbrzymiej większości pętli for jest dobrze, jak jest.
Pętla while w sposób naturalny obsługuje inne sytuacje.

Wprawdzie @Bartłomiej Golenko podał w pełni ściśle, JAK zmianę by się robiło, ale najpierw pytanie, CZY jest to celowe.
Zwykle, o ile to była dobra, prawidłowa for, to jest to szkodliwą komplikacją

EDIT:
a już byłoby zbrodnią psucie dobrej pętli for na popularnych warunkach liczbowych.
Tracimy naturalną czytelność na rzecz jakiegoś potworka, którego trzeba pracowicie rozczytywać co poeta miał na myśli

1 użytkowników online, w tym zalogowanych: 0, gości: 1