- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
- •Int main(int argc, char* argv[])
Int main(int argc, char* argv[])
{
cout << "Vvedite n"<< endl;
cin >> n;
cout << "Vvedite poslwedovatelnost" <<endl;
for (int i=0; i<n; i++) cin >> a[i];
int k=0;
for (int i=0; i<m; i++)
c[i]=0;
for (int i=n-1; i>=0; i--)
c[a[i]]=c[a[i]]+1;
for (int i=1; i<m; i++) c[i]=c[i]+c[i-1];
for (int i=0; i<n; i++) {
b[c[a[i]]-1]=a[i];
c[a[i]]=c[a[i]]-1;
}
for (int i=0; i<n; i++) cout<<b[i] <<" ";
}
Написать программу, реализующую алгоритм двоичного поиска в отсортированном массиве.
const int nn=10;
int k=0;
int i=0;
int m=0;
long key;
struct note
{
string fio;
long num;
};
note book[nn];
// poisk
int Search_dv(int l, int r)
{
if (l>r) {
cout << "net takogo";
return -1;
}
else m=(l+r)/2;
if (book[m].num>key) Search_dv(l,m-1); else
if (book[m].num<key) Search_dv(m+1,r); else return m;
};
Int main(int argc, char* argv[])
{
ifstream in("phone.txt"); long n; string str;
while ( in >> n)
{
in.get(); in >> str; book[i].fio=str;
book[i].num=n;
++i; ++k;
};
for (int i=0; i< k; ++i)cout << book[i].num <<" " << book[i].fio << endl;
cout << "input nomer:"<<" ";
cin >> key;
int r=Search_dv(0,k);
cout << book[r].fio;
getch();
}
Написать программу, реализующую процедуры добавления и поиска строк в хэш-таблице.
const int size=10;
struct man{
string name;
long num;
};
int Hash(string s,int k);
Int main(int argc, char* argv[])
{
man x[size];
for(int i=0;i<size;i++){
x[i].num=-1;
x[i].name="-1";
}
ifstream in("h:\\TelBook.txt",ios::in);
if(!in){
cerr<<"File not found\n";
exit(1);
}
string n;
long t;
int p=0,koll=0;
while(in>>t){
in.get();
in>>n;
int H,k=0;
do{
H=Hash(n,k)%size;
k++;
}while(x[H].num!=-1);
if(k>0)koll++;
x[H].name=n;
x[H].num=t;
p++;
}
cout<<koll<<endl;
for(int i=0;i<size;i++)
if(x[i].num!=-1)
cout<<x[i].num<<" "<<x[i].name<<endl;
string fam;
cout<<"Enter the name: ";
cin>>fam;
int H,k=0;
do{
H=Hash(fam,k)%size;
k++;
if(k==size){
cout<<"Net takogo";
break;
}
}while(x[H].name!=fam);
if(k<size)
cout<<x[H].num<<endl;
char ch;
cin>>ch;
}
//---------------------------------------------------------------------------
int Hash(string s,int k){
int N=0;
for(int i=0;i<s.length();i++)
N+=s[i];
return N+k;
Написать программу, использующую стек для решения задачи. (игрушка пирамидка)
int a[100];
int h, n, temp;
void add_st(int *a,int em)
{
a[h]=em;
h++;
}
int* del_st(int *a)
{
int em = a[--h];
};
