Răspuns :
#include<iostream>
#include<cstring>
using namespace std;
struct firma{
char localitate[51];
int ID;
struct {
int an,luna,zi;
}data;
}colet[101];
int n=1;
int main(){
do{
cin.getline(colet[n].localitate,51);
cin>>colet[n].ID>>colet[n].data.an>>colet[n].data.luna>>colet[n].data.zi;
if(strcmp("STOP",colet[n].localitate)!=0)
n++;
}while(strcmp("STOP",colet[n].localitate)!=0);
n--;
for(int i=1;i<=n-1;i++)
for(int j=i+1;j<=n;j++)
if(colet[i].data.an>colet[j].data.an)
swap(colet[i],colet[j]);
else
if(colet[i].data.an==colet[j].data.an&&colet[i].data.luna>colet[j].data.luna)
swap(colet[i],colet[j]);
else
if(colet[i].data.an==colet[j].data.an&&colet[i].data.luna==colet[j].data.luna&&colet[i].data.zi>colet[j].data.zi)
swap(colet[i],colet[j]);
for(int i=1;i<=n;i++)
cout<<colet[i].data.an<<' '<<colet[i].data.luna<<' '<<colet[i].data.zi<<endl;
for(int i=1;i<=n-1;i++)
for(int j=i+1;j<=n;j++)
if(colet[i].data.an==colet[j].data.an&&colet[i].data.luna==colet[j].data.luna&&colet[i].data.zi==colet[j].data.zi)
if(strcmp(colet[i].localitate,colet[j].localitate)>0)
swap(colet[i],colet[j]);
for(int i=1;i<=n;i++)
cout<<colet[i].localitate<<endl;
cout<<n<<endl;
for(int i=1;i<=n-1;i++)
for(int j=i+1;j<=n;j++)
if(colet[i].ID>colet[j].ID)
swap(colet[i],colet[j]);
for(int i=1;i<=n;i++)
cout<<colet[i].localitate<<' '<<colet[i].ID<<' '<<colet[i].data.an<<' '<<colet[i].data.luna<<' '<<colet[i].data.zi<<", ";
return 0;
}
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru întrebări sau asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!