c++
1# 名前と点数を逐一入力して、その点数と名前を構造体に入れます。負の点数が入力された時点で入力を終了し、バブルソートを行い、点数と名前を小さい順に並び替えて、出力するコードを書いています。コードは以下です。 2 3 4,,,#include <iostream> 5using namespace std; 6 7struct person{ 8string name; 9int age; 10};#define MAX 100 11 12int main(){ 13 14person a[MAX], tmp; 15int i, j, n(0); 16do{ 17cin >> a[n].name >>a[n].age; 18}while(a[n++].age>=0); 19for(i=n-1; i>0; --i) 20for(j=0; j<i; j++) 21 if(a[j].age>a[i].age){ 22tmp=a[j]; 23a[j]=a[i]; 24a[i]=tmp; 25 } 26for(i=0; i<n; ++i) 27 cout << a[i].name << ", " << a[i].age 28<< endl; 29return 0; 30} 31 32 33このコードに 34 a 2 35 b 4 36 c 5 37 d 1 38 e -1 39と入力した結果、 40e, -1 41d, 1 42a, 2 43b, 4 44c, 5 45という出力が得られました。このコードと同じ動作をするコードをこのコードを書き換えてポインタを使って書き換るという指示があったのですがどこにポインタが使えるのか検討も付きません。ヒントを頂きたいです。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/07 12:12
2019/11/07 12:22 編集
2019/11/07 12:27