Алгоритм пузырьковой сортировки - новичок - PullRequest
0 голосов
/ 09 марта 2019

Так что у меня есть эта проблема. Я пытаюсь научиться кодировать, и для этого я продолжаю пытаться придумать свои собственные способы делать вещи, просто для практики. У меня есть этот алгоритм, который я сделал в качестве упражнения. Суть в том, чтобы иметь программу, которая спрашивает, сколько блинов съел каждый человек за столом из 10, вы вводите данные, и они сохраняют их и сортируют по количеству съеденных блинов. Я видел пузырьковую сортировку, реализованную «Правильный путь», я спрашиваю здесь, в чем проблема с моей логикой, где ошибка?

void pancakes() {
`int i=1;
    int person[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    do {
        cout << "How many pancakes did person " << i << " eat ?" << endl;
        cin >> person[i-1];
        cout<<"For person number "<<i<<" you entered "<<person[i-1]<<" pancakes."<<endl;
        i++;

    } while (i!=11);
    i=10;
    while(i>=1){
        cout<<"Person number "<<i<<" had "<<person[i-1]<<" pancakes this morning."<<endl;
        i--;
    }
    cout<<"I can make a list of people sorted by the number of pancakes eaten."<<endl<<endl;
   int y;
   int x=0;
   bool swap = true;
   int j=2;
   while(1 < j) {
       if(swap==true) {
           swap = false;
            x=0;}

    while (10 >= x) {

          if (person[x] > person[x + 1]) {
                       y = person[x];
                       person[x] = person[x + 1];
                       person[x + 1] = y;
                       swap = true;
                       x++;
                   }
               }
           if(swap==false){
               j=0;
               int k=0;
               while(10 >= k){
                   cout<<"Place number "<<k+1<<" is given to the person who had "<<person[k]<<" pancakes for breakfast !"<<endl;
                   k++;
               }
           }

   }


}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...