ñêà÷àòü ðåôåðàòû
  RSS    

Ìåíþ

Áûñòðûé ïîèñê

ñêà÷àòü ðåôåðàòû

ñêà÷àòü ðåôåðàòûÑî÷èíåíèå: Îáúåêòíî-îðèåíòèðîâàíîå ïðîãðàìèðîâàíèå íà Ñ++

                               k=i+1;

                               add_after(s);

                };

                if(i==0)

                               add_before(s);

                return;

};

void list::del_element()

{

                if (first==NULL)

                {

                               cout<<"Nemogu udalit element so spiska. Spisok pust.\n";

                               return;

                };

                if (current==first)

                {

                               if (current==last)

                               {first=last=NULL;}

                               else

                               {

                                               first=current->down;

                                               first->up=NULL;

                               };

                               delete[]current->info;

                               delete[]current;

                               current=first;

                               return;

                };

                if (current==last)

                {

                               last=current->up;

                               last->down=NULL;

                               delete[]current->info;

                               delete[]current;

                               current=last;

                               return;

                };

                last->down=current->down;

                current->up->down=current->down;

                current->down->up=current->up;

                delete[]current->info;

                delete[]current;

                current=last->down;

                last->down=NULL;

                return;

};

void list::del_element(int &k)

{

                int i=current_element(k);

                if ((i<k)&&(i!=0))

                {

                               cout<<"V spiske vsego "<<i<<" elmentov. Po etomu vmesto "<<k<<" elementa, functsia udalit "<<i<<" element!!!\n";

                               k=i;

                };

                del_element();

                return;

};

list::~list()

{

                del_list();

};

void list::del_list()

{

                while (last!=first)

                {

                               current=last;

                               delete [] last->info;

                               last=last->up;

                               delete [] current;

                };

                if (first) delete [] first->info;

                delete[]first;

                current=first=last=NULL;

                return;

};

//current ostaetsa netronutym

int list::num_list()

{

                if(first==NULL) return 0;

                int i(1);

                element* temp=first->down;

                while (temp!=NULL)

                {

                               i++;

                               temp=temp->down;

                };

                return i;

};

//if OK return 0, esle return i (number current element)

int list::current_element(int k)

{

                if (first==NULL)

                {

                               cout<<"V spiske 0 elementov.\n";

                               return 0;

                };

                int i(1);

                current=first;

                if(i==k) return 0;

                while (current->down)

                {

                               current=current->down;

                               if (++i==k) return 0;

                };

                return i;

};

//Esli sled. element sdelalsa tekuschim return 1, else 0

int list::next_element()

{

                if (current->down)

                {

                               current=current->down;

                               return 1;

                };

                return 0;

};

//Esli pred. element sdelalsa tekuschim return 1, else 0

int list::previous_element()

{

                if (current->up)

                {

                               current=current->up;

                               return 1;

                };

                return 0;

};

int list::num_current()

{

                if(current==NULL)return 0;

                int i(1);

                element* temp=current;

                while (temp->up!=NULL)

                {

                               i++;

                               temp=temp->up;

                };

                return i;

};

char* list::read_element()

{

                return current->info;

};

char* list::read_element(int &k)

{

                int i;

                i=current_element(k);

                if ((i<k)&&(i!=0))

                {

                               cout<<"V spiske vsego "<<i<<" elmentov. Po etomu vmesto "<<k<<" elementa, functsia vozvrashchaet "<<i<<" element!!!\n";

                               k=i;

                };

                return current->info;

};

void list::init_list(int k, char* str)

{

                if (k==0) return;

                int f(2);

                char* s;

                s=new char[strlen(str)+7];

                if (first!=NULL)

                {

                               cout<<"Spisok ne pust!!!\n";

                               cout<<"Chto delat?(0/1/2)\n";

                               cout<<"  0)Otmenit initsializatsiu;\n";

                               cout<<"  1)Dopisat fonarnuu infomatsiu v konets spiska;\n";

                               cout<<"  2)Zamenit spisok novoi fonarnoi informatsyei.\n";

                               cin>>f;

                };

                if(f==0) return;

                if(f==1) current=last;

                if(f==2)

                {

                               del_list();

                               first=new element[1];

                               first->info=new char[strlen(str)+3];

                               sprintf(first->info,"%s 1",str);

                               first->up=first->down=NULL;

                               current=last=first;

                };

                for (int j=f; j<=k; j++)

                {

                               sprintf(s,"%s %d",str,j);

                               add_after(s);

                };

                return;

};

void list::print_list()

{

                cout<<"Vmestimoe spiska:\n";

                element* temp=first;

                if (first==NULL)

                {

                               cout<<"Spisok pust!!!\n";

                               return;

                };

                do

                ";

                while (temp);

                cout<<"\n";

                return;

};

int list::fput_list(char* s)

{

                FILE* f;

                if ((f=fopen(s,"w+"))==NULL)

                {

                               cout << "Can not open file "<<s<<"\n";

                               return 0;

                };

                if (!first) fclose(f);

                element* temp=first;

                do

                {

                               fputs(temp->info,f);

                               fputs("\n",f);

                               temp=temp->down;

                }

                while (temp);

                fclose(f);

                return 1;

};

int list::fget_list(char* s)

{

                int ff=2;

                if (first!=NULL)

                {

                               cout<<"Spisok ne pust!!!\nChto delat?(0/1/2)\n  0)Otmenit vostanovlenie iz faila;\n";

                               cout<<"  1)Vostanovit infomatsiu iz faila v konets spiska;\n";

                               cout<<"  2)Zamenit spisok informatsyei iz faila.\n";

                               cin>>ff;

                };

                if(!ff) return ff;

                FILE* f;

                if ((f=fopen(s,"r"))==NULL)

                {

                               cout<<"Can not open file "<<s<<"\n";

                               return 0;

                };

                char str[255];

                if(ff==1)

                               current=last;

                char *sss;

                if(ff==2)

                               del_list();

                while (fgets(str,256,f))

                {

                               sss=new char[strlen(str)];

                               int j=0;

                               while(str[j]!='\n')

                                               sss[j]=str[j++];

                               sss[j]='\0';

                               add_after(sss);

                               delete [] sss;

                };

                fclose(f);

                return ff;

};

#endif

#include "list_.h"

void main()

{

                int n=16;

                cout<<"Rozhdenie spiska...\n";

                list s;

                char a[255];

                strcpy(a,"Seha");

                s.print_list();

                cout<<"\nVsego elementov v spiske: "<<s.num_list();

                cout<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                cout<<"Press <Enter> for go on...\n";

                getchar();

                cout<<"Skol'ko proinitsializirovat' elementov spiska?\nn=";

                cin>>n;

                cout<<"Initsialitsia spiska...\n";

                s.init_list(n,a);

                s.print_list();

                cout<<"\nVsego elementov v spiske: "<<s.num_list();

                cout<<"\nTekuschiy element spiska: ";

                cout<<s.num_current()<<'\n';

                cout<<"Press <Enter> for go on...\n";

                getchar();//clear iostream

                getchar();

                cout<<"Kakoi element v spiske sdelat' tekeschim?\nn=";

                cin>>n;

                s.current_element(n);

                cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                cout<<"Skol'ko elementov dobavit'?\n";

                cin>>n;

                getchar();//clear iostream

                for (int i=0; i<n; i++)

                {

                               cout<<"Vvedite stroku dlja dobavlenija v spisok\n";

                               gets(a);

                               cout<<"Dobavlenie posle tekuschego...\n";

                               s.add_after(a);

                               s.print_list();

                               cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                               cout<<"Press <Enter> for go on...\n";

                               getchar();

                };

                cout<<"Delaem tekuschim sledujushiy element...\n";

                s.next_element();

                cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                cout<<"Press <Enter> for go on...\n";

                getchar();

                cout<<"Skol'ko eschje elementov spiska nuzhno dobavit'?\n";

                cin>>n;

                getchar();//clear iostream

                for (int i=0; i<n; i++)

                {

                               cout<<"Vvedite stroku dlja dobavlenija v spisok\n";

                               gets(a);

                               cout<<"Dobavlenie do tekuschego...\n";

                               s.add_before(a);

                               s.print_list();

                               cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                               cout<<"Press <Enter> for go on...\n";

                               getchar();

                };

                cout<<"Skol'ko eschje elementov spiska nuzhno dobavit'?\n";

                cin>>n;

                getchar();//clear iostream

                for (int k,i=0; i<n; i++)

                {

                               cout<<"Vvedite stroku dlja dobavlenija v spisok\n";

                               gets(a);

                               cout<<"Vvedite nomer elementa, na kakoe mesto nuzhno dobavit' novyi element\n";

                               cin>>k;

                               cout<<"Dobavlenie "<<k<<"-togo elementa...\n";

                               s.add_element(a,k);

                               s.print_list();

                               cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                               cout<<"Press <Enter> for go on...\n";

                               getchar();//clear iostream

                               getchar();

                };

               

                cout<<"Kakoi element v spiske sdelat' tekeschim?\nn=";

                cin>>n;

                s.current_element(n);

                cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                cout<<"Skol'ko elementov udalit'?\n";

                cin>>n;

                getchar();//clear iostream

                for (int i=0; i<n; i++)

                {

                               cout<<"Udalenie tekuschego...\n";

                               s.del_element();

                               s.print_list();

                               cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                               cout<<"Press <Enter> for go on...\n";

                               getchar();

                };

                cout<<"Skol'ko eschje elementov spiska nuzhno udalit?\n";

                cin>>n;

                getchar();//clear iostream

                for (int k,i=0; i<n; i++)

                {

                               cout<<"Vvedite nomer elementa, kotoryi nuzhno udalit'\n";

                               cin>>k;

                               cout<<"Udalenie "<<k<<"-togo elementa...\n";

                               s.del_element(k);

                               s.print_list();

                               cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                               cout<<"Press <Enter> for go on...\n";

                               getchar();//clear iostream

                               getchar();

                };

                cout<<"Zapis' spiska v fail...\n";

                s.fput_list("Seha.lsm");

                cout<<"Udalenie spiska...\n";

                s.del_list();

                s.print_list();

                cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                cout<<"Press <Enter> for go on...\n";

                getchar();

                cout<<"Vostanovlenie spiska...\n";

                s.fget_list("Seha.lsm");

                s.print_list();

                cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                cout<<"Press <Enter> for go on...\n";

                getchar();

                cout<<"Delaem tekuschim predyduschiy element...\n";

                s.previous_element();

                cout<<"\nVsego elementov v spiske: "<<s.num_list()<<"\nTekuschiy element spiska: "<<s.num_current()<<'\n';

                cout<<"Press <Enter> for go on...\n";

                getchar();

                cout<<"Press <Enter> for exit...";

                getchar();

};

Ðåçóëüòàò:

 D:\Studies\Labs\Programing\Labs\Cpp\Individ_6\ind2>ind2

Rozhdenie spiska...

Vmestimoe spiska:

Spisok pust!!!

Vsego elementov v spiske: 0

Tekuschiy element spiska: 0

Press <Enter> for go on...

Skol'ko proinitsializirovat' elementov spiska?

n=9

Initsialitsia spiska...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 9

Tekuschiy element spiska: 9

Press <Enter> for go on...

Kakoi element v spiske sdelat' tekeschim?

n=6

Vsego elementov v spiske: 9

Tekuschiy element spiska: 6

Skol'ko elementov dobavit'?

3

Vvedite stroku dlja dobavlenija v spisok

Sveta 1

Dobavlenie posle tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Seha 7 || Seha 8

|| Seha 9 |

Vsego elementov v spiske: 10

Tekuschiy element spiska: 7

Press <Enter> for go on...

Vvedite stroku dlja dobavlenija v spisok

Sveta 2

Dobavlenie posle tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Seha 7

 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 11

Tekuschiy element spiska: 8

Press <Enter> for go on...

Vvedite stroku dlja dobavlenija v spisok

Sveta 3

Dobavlenie posle tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta

3 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 12

Tekuschiy element spiska: 9

Press <Enter> for go on...

Delaem tekuschim sledujushiy element...

Vsego elementov v spiske: 12

Tekuschiy element spiska: 10

Press <Enter> for go on...

Skol'ko eschje elementov spiska nuzhno dobavit'?

3

Vvedite stroku dlja dobavlenija v spisok

Svitlana 1

Dobavlenie do tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta

3 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 13

Tekuschiy element spiska: 10

Press <Enter> for go on...

Vvedite stroku dlja dobavlenija v spisok

Svitlana 2

Dobavlenie do tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta

3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 14

Tekuschiy element spiska: 10

Press <Enter> for go on...

Vvedite stroku dlja dobavlenija v spisok

Svitlana 3

Dobavlenie do tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta

3 || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 15

Tekuschiy element spiska: 10

Press <Enter> for go on...

Skol'ko eschje elementov spiska nuzhno dobavit'?

3

Vvedite stroku dlja dobavlenija v spisok

I

Vvedite nomer elementa, na kakoe mesto nuzhno dobavit' novyi element

10

Dobavlenie 10-togo elementa...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta

3 || I || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 16

Tekuschiy element spiska: 10

Press <Enter> for go on...

Vvedite stroku dlja dobavlenija v spisok

like

Vvedite nomer elementa, na kakoe mesto nuzhno dobavit' novyi element

11

Dobavlenie 11-togo elementa...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta

3 || I || like || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 17

Tekuschiy element spiska: 11

Press <Enter> for go on...

Vvedite stroku dlja dobavlenija v spisok

you!!!

Vvedite nomer elementa, na kakoe mesto nuzhno dobavit' novyi element

12

Dobavlenie 12-togo elementa...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 4 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta

3 || I || like || you!!! || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 ||

Seha 9 |

Vsego elementov v spiske: 18

Tekuschiy element spiska: 12

Press <Enter> for go on...

Kakoi element v spiske sdelat' tekeschim?

n=4

Vsego elementov v spiske: 18

Tekuschiy element spiska: 4

Skol'ko elementov udalit'?

3

Udalenie tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 5 || Seha 6 || Sveta 1 || Sveta 2 || Sveta 3 || I ||

like || you!!! || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 17

Tekuschiy element spiska: 4

Press <Enter> for go on...

Udalenie tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Seha 6 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || yo

u!!! || Svitlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 16

Tekuschiy element spiska: 4

Press <Enter> for go on...

Udalenie tekuschego...

Vmestimoe spiska:

| Seha 1 || Seha 2 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Sv

itlana 3 || Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 15

Tekuschiy element spiska: 4

Press <Enter> for go on...

Skol'ko eschje elementov spiska nuzhno udalit?

3

Vvedite nomer elementa, kotoryi nuzhno udalit'

2

Udalenie 2-togo elementa...

Vmestimoe spiska:

| Seha 1 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Svitlana 3 |

| Svitlana 2 || Svitlana 1 || Seha 7 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 14

Tekuschiy element spiska: 2

Press <Enter> for go on...

Vvedite nomer elementa, kotoryi nuzhno udalit'

12

Udalenie 12-togo elementa...

Vmestimoe spiska:

| Seha 1 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Svitlana 3 |

| Svitlana 2 || Svitlana 1 || Seha 8 || Seha 9 |

Vsego elementov v spiske: 13

Tekuschiy element spiska: 12

Press <Enter> for go on...

Vvedite nomer elementa, kotoryi nuzhno udalit'

12

Udalenie 12-togo elementa...

Vmestimoe spiska:

| Seha 1 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Svitlana 3 |

| Svitlana 2 || Svitlana 1 || Seha 9 |

Vsego elementov v spiske: 12

Tekuschiy element spiska: 12

Press <Enter> for go on...

Zapis' spiska v fail...

Udalenie spiska...

Vmestimoe spiska:

Spisok pust!!!

Vsego elementov v spiske: 0

Tekuschiy element spiska: 0

Press <Enter> for go on...

Vostanovlenie spiska...

Vmestimoe spiska:

| Seha 1 || Seha 3 || Sveta 1 || Sveta 2 || Sveta 3 || I || like || you!!! || Svitlana 3 |

| Svitlana 2 || Svitlana 1 || Seha 9 |

Vsego elementov v spiske: 12

Tekuschiy element spiska: 12

Press <Enter> for go on...

Delaem tekuschim predyduschiy element...

Vsego elementov v spiske: 12

Tekuschiy element spiska: 11

Press <Enter> for go on...

Press <Enter> for exit...

D:\Studies\Labs\Programing\Labs\Cpp\Individ_6\ind2>

Seha.lsm:

Seha 1

Seha 3

Sveta 1

Sveta 2

Sveta 3

I

like

you!!!

Svitlana 3

Svitlana 2

Svitlana 1

Seha 9


Ñòðàíèöû: 1, 2


Íîâîñòè

Áûñòðûé ïîèñê

Ãðóïïà âÊîíòàêòå: íîâîñòè

Ïîêà íåò

Íîâîñòè â Twitter è Facebook

  ñêà÷àòü ðåôåðàòû              ñêà÷àòü ðåôåðàòû

Íîâîñòè

ñêà÷àòü ðåôåðàòû

Îáðàòíàÿ ñâÿçü

Ïîèñê
Îáðàòíàÿ ñâÿçü
Ðåêëàìà è ðàçìåùåíèå ñòàòåé íà ñàéòå
© 2010.