#include <iostream>
using namespace std;
#define N (100)
struct person{
string first_name,last_name,number;
bool used;
person()
{
used=0;
first_name=last_name=number="";
}
};
person a[N];
void add_person(string f_n,string l_n,string num)
{
for(int i=0;i<N;i++)
if(!a[i].used)
{
a[i].used=1,a[i].first_name=f_n,a[i].last_name=l_n,a[i].number=num;
return ;
}
}
void search_first_name(string f_n)
{
int counter=0;
for(int i=0;i<N;i++)
if(a[i].used && a[i].first_name==f_n)
counter++,cout<<a[i].first_name<<" "<<a[i].last_name<<" "<<a[i].number<<"\n";
if(!counter)
cout<<"Not Found.\n";
}
void search_last_name(string l_n)
{
int counter=0;
for(int i=0;i<N;i++)
if(a[i].used && a[i].last_name==l_n)
counter++,cout<<a[i].first_name<<" "<<a[i].last_name<<" "<<a[i].number<<"\n";
if(!counter)
cout<<"Not Found.\n";
}
void search_number(string num)
{
int counter=0;
for(int i=0;i<N;i++)
if(a[i].used && a[i].number==num)
counter++,cout<<a[i].first_name<<" "<<a[i].last_name<<" "<<a[i].number<<"\n";
if(!counter)
cout<<"Not Found.\n";
}
void delete_person(string f_n,string l_n,string num)
{
for(int i=0;i<N;i++)
if(a[i].used && a[i].first_name==f_n && a[i].last_name==l_n && a[i].number==num)
a[i].used=0;
}
int main()
{
add_person("Mehrdad","Saberi","09111213123");
add_person("Sa1378",":D","55115511");
add_person("Faeze","Frn","09110000000");
search_number("09111213123");
delete_person("Mehrdad","Saberi","09111213123");
search_last_name("Saberi");
search_first_name("Faeze");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIE4gKDEwMCkKIApzdHJ1Y3QgcGVyc29uewogICAgc3RyaW5nIGZpcnN0X25hbWUsbGFzdF9uYW1lLG51bWJlcjsKICAgIGJvb2wgdXNlZDsKICAgIHBlcnNvbigpCiAgICB7CiAgICAgICAgdXNlZD0wOwogICAgICAgIGZpcnN0X25hbWU9bGFzdF9uYW1lPW51bWJlcj0iIjsKICAgIH0KfTsKIApwZXJzb24gYVtOXTsKIAp2b2lkIGFkZF9wZXJzb24oc3RyaW5nIGZfbixzdHJpbmcgbF9uLHN0cmluZyBudW0pCnsKICAgIGZvcihpbnQgaT0wO2k8TjtpKyspCiAgICAgICAgaWYoIWFbaV0udXNlZCkKICAgICAgICB7CiAgICAgICAgICAgIGFbaV0udXNlZD0xLGFbaV0uZmlyc3RfbmFtZT1mX24sYVtpXS5sYXN0X25hbWU9bF9uLGFbaV0ubnVtYmVyPW51bTsKICAgICAgICAgICAgcmV0dXJuIDsKICAgICAgICB9Cn0KIAp2b2lkIHNlYXJjaF9maXJzdF9uYW1lKHN0cmluZyBmX24pCnsKICAgIGludCBjb3VudGVyPTA7CiAgICBmb3IoaW50IGk9MDtpPE47aSsrKQogICAgICAgIGlmKGFbaV0udXNlZCAmJiBhW2ldLmZpcnN0X25hbWU9PWZfbikKICAgICAgICAgICAgY291bnRlcisrLGNvdXQ8PGFbaV0uZmlyc3RfbmFtZTw8IiAiPDxhW2ldLmxhc3RfbmFtZTw8IiAiPDxhW2ldLm51bWJlcjw8IlxuIjsKICAgIGlmKCFjb3VudGVyKSAgICAgICAgCiAgICAgICAgY291dDw8Ik5vdCBGb3VuZC5cbiI7ICAgCn0KIAp2b2lkIHNlYXJjaF9sYXN0X25hbWUoc3RyaW5nIGxfbikKewogICAgaW50IGNvdW50ZXI9MDsKICAgIGZvcihpbnQgaT0wO2k8TjtpKyspCiAgICAgICAgaWYoYVtpXS51c2VkICYmIGFbaV0ubGFzdF9uYW1lPT1sX24pCiAgICAgICAgICAgIGNvdW50ZXIrKyxjb3V0PDxhW2ldLmZpcnN0X25hbWU8PCIgIjw8YVtpXS5sYXN0X25hbWU8PCIgIjw8YVtpXS5udW1iZXI8PCJcbiI7CiAgICBpZighY291bnRlcikgICAgICAgIAogICAgICAgIGNvdXQ8PCJOb3QgRm91bmQuXG4iOyAgIAp9CiAKdm9pZCBzZWFyY2hfbnVtYmVyKHN0cmluZyBudW0pCnsKICAgIGludCBjb3VudGVyPTA7CiAgICBmb3IoaW50IGk9MDtpPE47aSsrKQogICAgICAgIGlmKGFbaV0udXNlZCAmJiBhW2ldLm51bWJlcj09bnVtKQogICAgICAgICAgICBjb3VudGVyKyssY291dDw8YVtpXS5maXJzdF9uYW1lPDwiICI8PGFbaV0ubGFzdF9uYW1lPDwiICI8PGFbaV0ubnVtYmVyPDwiXG4iOwogICAgaWYoIWNvdW50ZXIpICAgICAgICAKICAgICAgICBjb3V0PDwiTm90IEZvdW5kLlxuIjsgICAKfQogCnZvaWQgZGVsZXRlX3BlcnNvbihzdHJpbmcgZl9uLHN0cmluZyBsX24sc3RyaW5nIG51bSkKewogICAgZm9yKGludCBpPTA7aTxOO2krKykKICAgICAgICBpZihhW2ldLnVzZWQgJiYgYVtpXS5maXJzdF9uYW1lPT1mX24gJiYgYVtpXS5sYXN0X25hbWU9PWxfbiAmJiBhW2ldLm51bWJlcj09bnVtKQogICAgICAgICAgICBhW2ldLnVzZWQ9MDsKfQogCmludCBtYWluKCkKewogICAgYWRkX3BlcnNvbigiTWVocmRhZCIsIlNhYmVyaSIsIjA5MTExMjEzMTIzIik7CiAgICBhZGRfcGVyc29uKCJTYTEzNzgiLCI6RCIsIjU1MTE1NTExIik7CiAgICBhZGRfcGVyc29uKCJGYWV6ZSIsIkZybiIsIjA5MTEwMDAwMDAwIik7CiAgICBzZWFyY2hfbnVtYmVyKCIwOTExMTIxMzEyMyIpOwogICAgZGVsZXRlX3BlcnNvbigiTWVocmRhZCIsIlNhYmVyaSIsIjA5MTExMjEzMTIzIik7CiAgICBzZWFyY2hfbGFzdF9uYW1lKCJTYWJlcmkiKTsKICAgIHNlYXJjaF9maXJzdF9uYW1lKCJGYWV6ZSIpOyAgCiAgICByZXR1cm4gMDsKfQ==