입력 한 이름의 오름차순으로 나이를 정렬 한 다음 그에 따라 목록을 표시하고 싶습니다. 나는 그 (것)들을 분류하는 것을 처리하고 그러나 나는 그들의 나이에 정확하게 이름을 표시하는 것을 보일 수 없다.입력 한 이름의 '나이'를 정렬 한 다음 결과를 표시합니다.
여기 내 코드입니다 : -
#include <iostream>
using namespace std;
int main()
{
char name [5][25];
int age [5];
int i;
for (i=0 ; i<5 ; i++)
{
cout << "Enter name " << i+1 << " : ";
cin >> name [i];
cout << "Enter age : ";
cin >> age [i];
cout << endl;
}
cout << "\n********** Your entered data **********\n\n";
cout << "\tName" << "\t\t" << "Age\n\n";
for (i=0 ; i<5 ; i++)
{
cout << "\t" << name [i] << "\t\t" << age [i];
cout << endl;
}
int hold;
for (i=0 ; i<5 ; i++)
{
for (int j=0 ; j<5 ; j++)
{
if (age [j] > age [j+1])
{
hold = age [j];
age [j] = age [j+1];
age [j+1] = hold;
}
}
}
cout << "\n\n******* Sorted data (w.r.t age) *******\n\n";
cout << "\tName" << "\t\t" << "Age\n\n";
for (i=0 ; i<5 ; i++)
{
cout << "\t" << name [i] << "\t\t" << age [i];
cout << endl;
}
return 0;
}
문제는 지난 for
루프입니다. 누구든지이 논리를 구현하는 데 도움이 될 수 있습니까?
그리고 마지막 'for' 루프의 문제점은 무엇입니까? 그것은 나에게 잘 보인다. 아마도 당신의 문제는 다른 곳에있을 것입니다. 힌트 : 나이를 바꾸면 해당 이름으로 무엇을해야합니까? –
@JoeZ 네, 맞습니다. 'for' 루프를 바꾸는 것이 문제입니다. :-) –