Так что у меня есть эта проблема. Я пытаюсь научиться кодировать, и для этого я продолжаю пытаться придумать свои собственные способы делать вещи, просто для практики. У меня есть этот алгоритм, который я сделал в качестве упражнения.
Суть в том, чтобы иметь программу, которая спрашивает, сколько блинов съел каждый человек за столом из 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++;
}
}
}
}
}