프로그래밍을 향상시키고 내가 가지고있는 수업에서 어떤 내용을 배우고 다시 배우기 위해 Cplusplus.com 웹 사이트의 연습 문제를 진행 중입니다. 올해에 찍은 그리고 아래의 문제는 제가 일하고 특히 마지막 굵은 부분입니다.정수 배열을 비교하여 C++에서 가장 큰 것부터 가장 작은 것으로 표시하는 방법
는 데이터가 프로그램이 있어야합니다 입력되면 (10) 다른 사람 (사람 1, 사람 2, ..., 사람 10) 으로 아침 식사를 먹는 팬케이크의 번호를 입력하도록 요청하는 프로그램을 작성 데이터를 분석하고 누가 가장 많은 팬케이크를 아침 식사로 먹었는지 출력하십시오. 이 예와 같은 모든 10 명 먹은 팬케이크들을 출력되도록
인 4 .. 프로그램을 수정 10 팬케이크 먹었다
인 3 : 7 팬케이크 먹었다
사람 8 : 4 팬케이크
먹었다 여기
내가 가진 무엇
등 ... 지금까지
#include <iostream>
using namespace std;
void getPancakesEaten(int pancakes[]);
void comparePancakesEaten(int pancakes[]);
void displayOrder(int pancakes[]);
/**********************************************************************
* Gets the amount of Pancakes eaten
***********************************************************************/
void getPancakesEaten(int pancakes[])
{
for(int i = 0; i < 10; i++)
{
cout << "Person " << i + 1 << ": ate ";
cin >> pancakes[i];
}
cout << endl;
}
/**********************************************************************
* Compares the amount of pancakes eaten with each person
***********************************************************************/
void comparePancakesEaten(int pancakes[])
{
if(pancakes[0] > pancakes[1] && pancakes[0] > pancakes[2] && pancakes[0] > pancakes[3] && pancakes[0] > pancakes[4] && pancakes[0] > pancakes[5] && pancakes[0] > pancakes[6] && pancakes[0] > pancakes[7] && pancakes[0] > pancakes[8] && pancakes[9])
{
cout << "Person 1 ate " << pancakes[0] << " pancakes" << endl;
}
else if(pancakes[1] > pancakes[0] && pancakes[1] > pancakes[2] && pancakes[1] > pancakes[3] && pancakes[1] > pancakes[4] && pancakes[1] > pancakes[5] && pancakes[1] > pancakes[6] && pancakes[1] > pancakes[7] && pancakes[1] > pancakes[8] && pancakes[1] > pancakes[9])
{
cout << "Person 2 ate " << pancakes[1] << " pancakes" << endl;
}
else if(pancakes[2] > pancakes[0] && pancakes[2] > pancakes[1] && pancakes[2] > pancakes[3] && pancakes[2] > pancakes[4] && pancakes[2] > pancakes[5] && pancakes[2] > pancakes[6] && pancakes[2] > pancakes[7] && pancakes[2] > pancakes[8] && pancakes[2] > pancakes[9])
{
cout << "Person 3 ate " << pancakes[2] << " pancakes" << endl;
}
else if(pancakes[3] > pancakes[0] && pancakes[3] > pancakes[2] && pancakes[3] > pancakes[1] && pancakes[3] > pancakes[4] && pancakes[3] > pancakes[5] && pancakes[3] > pancakes[6] && pancakes[3] > pancakes[7] && pancakes[3] > pancakes[8] && pancakes[3] > pancakes[9])
{
cout << "Person 4 ate " << pancakes[3] << " pancakes" << endl;
}
else if(pancakes[4] > pancakes[0] && pancakes[4] > pancakes[2] && pancakes[4] > pancakes[3] && pancakes[4] > pancakes[1] && pancakes[4] > pancakes[5] && pancakes[4] > pancakes[6] && pancakes[4] > pancakes[7] && pancakes[4] > pancakes[8] && pancakes[4] > pancakes[9])
{
cout << "Person 5 ate " << pancakes[4] << " pancakes" << endl;
}
else if(pancakes[5] > pancakes[0] && pancakes[5] > pancakes[2] && pancakes[5] > pancakes[3] && pancakes[5] > pancakes[4] && pancakes[5] > pancakes[1] && pancakes[5] > pancakes[6] && pancakes[5] > pancakes[7] && pancakes[5] > pancakes[8] && pancakes[5] > pancakes[9])
{
cout << "Person 6 ate " << pancakes[5] << " pancakes" << endl;
}
else if(pancakes[6] > pancakes[0] && pancakes[6] > pancakes[2] && pancakes[6] > pancakes[3] && pancakes[6] > pancakes[4] && pancakes[6] > pancakes[5] && pancakes[6] > pancakes[1] && pancakes[6] > pancakes[7] && pancakes[6] > pancakes[8] && pancakes[6] > pancakes[9])
{
cout << "Person 7 ate " << pancakes[6] << " pancakes" << endl;
}
else if(pancakes[7] > pancakes[0] && pancakes[7] > pancakes[2] && pancakes[7] > pancakes[3] && pancakes[7] > pancakes[4] && pancakes[7] > pancakes[5] && pancakes[7] > pancakes[6] && pancakes[7] > pancakes[1] && pancakes[7] > pancakes[8] && pancakes[7] > pancakes[9])
{
cout << "Person 8 ate " << pancakes[7] << " pancakes" << endl;
}
else if(pancakes[8] > pancakes[0] && pancakes[8] > pancakes[2] && pancakes[8] > pancakes[3] && pancakes[8] > pancakes[4] && pancakes[8] > pancakes[5] && pancakes[8] > pancakes[6] && pancakes[8] > pancakes[7] && pancakes[8] > pancakes[1] && pancakes[8] > pancakes[9])
{
cout << "Person 9 ate " << pancakes[8] << " pancakes" << endl;
}
else if(pancakes[9] > pancakes[0] && pancakes[9] > pancakes[2] && pancakes[9] > pancakes[3] && pancakes[9] > pancakes[4] && pancakes[9] > pancakes[5] && pancakes[9] > pancakes[6] && pancakes[9] > pancakes[7] && pancakes[9] > pancakes[8] && pancakes[9] > pancakes[1])
{
cout << "Person 10 ate " << pancakes[9] << " pancakes" << endl;
}
cout << "\n";
}
/**********************************************************************
* Displays the order in which person ate the most pancakes to the least
***********************************************************************/
void displayOrder(int pancakes[])
{
for(int i = 9; i >= 0; i--)
{
for(int j = 0; j < 9; j++)
{
if(pancakes[j] > pancakes[j + 1])
{
int temp = pancakes[j + 1];
pancakes[j + 1]= pancakes[j];
pancakes[j]=temp;
}
}
cout << "Person " << i + 1 << ": ate " << pancakes[i] << " pancake(s)" << endl;
}
}
/**********************************************************************
* Runs the Entire Program
***********************************************************************/
int main()
{
int pancakes[256];
getPancakesEaten(pancakes);
comparePancakesEaten(pancakes);
displayOrder(pancakes);
}
나는에 실행 한 문제는 그 나는 올바른 순서에게 팬케이크의 번호와 관련된 사람을 표시 할 때 예를 들어 입력에 따라 때로는 올바르지 않습니다.
Person 1: ate 12 Person 2: ate 22 Person 3: ate 3 Person 4: ate 4 Person 5: ate 5 Person 6: ate 6 Person 7: ate 7 Person 8: ate 8 Person 9: ate 9 Person 10: ate 10 Person 2 ate 22 pancakes Person 10: ate 22 pancake(s) Person 9: ate 12 pancake(s) Person 8: ate 10 pancake(s) Person 7: ate 9 pancake(s) Person 6: ate 8 pancake(s) Person 5: ate 7 pancake(s) Person 4: ate 6 pancake(s) Person 3: ate 5 pancake(s) Person 2: ate 4 pancake(s) Person 1: ate 3 pancake(s)
대신 "사람 2"에 입력 한 값이 "사람 10"에 표시되지 않는 이유는 무엇입니까? 내 displayOrder
기능에 대한 내 for 루프 때문입니까?
_ "어디 내 코드에서 내가 잘못 갈거야?"_ [즉, 디버거가 작정하고있는 무슨이다] (http://idownvotedbecau.se/nodebugging/)! – user0042
도움말 디버깅을 요청하는 것은 주제가 아닙니다 - 그러나 이것은 https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – UKMonkey