47806 (633945)

Файл №633945 47806 (Объектно-ориентированое програмирование на С++)47806 (633945)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Міністерство освіти і науки України

Запорізький національний університет

Кафедра інформаційних технологій

Індивідуальна робота

З теми: «С++. Класи і об’єкти»

Виконав:

студ. 2 курсу

матем. ф-ту

гр. 8226-1

Лапін С.М.

Перевірив:

Борю С.Ю.

Запоріжжя 2007

Цель: Разработка простейших классов на примере разработки моделей элементарных объектов и динамических информационных структур (одно и двунаправленных списков).

1 часть работы "разработка простых классов"

Постановка задачи

Разработать класс, набор методов (конструктор и минимум два метода) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Разработать вызывающую программу (main), использующей объекты разработанного класса и тестирующие работоспособность всех методов.

Варианты заданий

14. Объект «прямоугольник заданный длинами двух сторон». Предусмотреть возможность операции присваивания, определения площади и периметра, а так же логический метод, отвечающий на вопрос – является ли прямоугольник квадратом. Конструктор должен позволить создавать объекты без и с начальной инициализацией.

Програма:

#ifndef rectangle__h

#define rectangle__h

#include

class rectangle

{

private:

double a, b;

public:

rectangle();

rectangle(double, double);

~rectangle();

rectangle & operator=(const rectangle & x);

double square(void);

double perimeter(void);

double diagonal(void);

int is_square(void);

void print_rectangle(void);

};

#endif

#ifndef conrectangle__h

#define conrectangle__h

#include

#include "rectangle.h"

rectangle::rectangle()

{

cout<<"The constructor \"rectangle()\" worked.\n";

a=1.0;

b=1.0;

};

rectangle::rectangle(double x, double y)

{

cout<<"The constructor \"rectangle(double, double)\" worked.\n";

a=x;

b=y;

};

rectangle::~rectangle()

{

cout<<"The destructor \"~rectangle()\" worked.\n";

a=0.0;

b=0.0;

};

rectangle & rectangle::operator=(const rectangle & x)

{

if(this==&x) return *this;

this->a=x.a;

this->b=x.b;

return *this;

};

double rectangle::square(void)

{

return a*b;

};

double rectangle::perimeter()

{

return 2*a+2*b;

};

double rectangle::diagonal()

{

return sqrt(a*a+b*b);

};

int rectangle::is_square()

{

if(a==b) return 1;

return 0;

};

void rectangle::print_rectangle()

{

char msg1[]=" ", msg2[]=" not ";

cout<<"a="<

cout<<"\nRectangle is";

if(is_square())

cout<

else

cout<

cout<<"square.\n";

return;

};

#endif

#include

#include "conrectangle.h"

void main()

{

rectangle r1;

double a,b;

char s[1];

cout<<"\nESLI VAM ETA PROGA POKAZHETSA TUPOY... NE PEREZHYVAITE! ETO DEISTVITEL'NO TAK :)\n";

do

{

cout<<"\n Our rectangle:\n";

r1.print_rectangle();

cout<<"Input a, b:\n";

cin>>a>>b;

rectangle r2(a, b);

cout<<"\n Your rectangle:\n";

r2.print_rectangle();

r1=r2;

cout<<"\n Your rectangle is our now:\n";

r1.print_rectangle();

cout<<"Repeat or quit?(r/q)...";

cin>>s;

}

while (s[0]!='q');

return;

};

Результати:

D:\Studies\Labs\Cpp\Individ_6>ind1

The constructor "rectangle()" worked.

ESLI VAM ETA PROGA POKAZHETSA TUPOY... NE PEREZHYVAITE! ETO DEISTVITEL'NO TAK :)

Our rectangle:

a=1 b=1

S= 1 m^2 P=4 m d=1.41421 m

Rectangle is square.

Input a, b:

456.125

789.5452485

The constructor "rectangle(double, double)" worked.

Your rectangle:

a=456.125 b=789.545

S= 360131 m^2 P=2491.34 m d=911.829 m

Rectangle is not square.

Your rectangle is our now:

a=456.125 b=789.545

S= 360131 m^2 P=2491.34 m d=911.829 m

Rectangle is not square.

Repeat or quit?(r/q)...r

The destructor "~rectangle()" worked.

Our rectangle:

a=456.125 b=789.545

S= 360131 m^2 P=2491.34 m d=911.829 m

Rectangle is not square.

Input a, b:

0.4876

0.4876

The constructor "rectangle(double, double)" worked.

Your rectangle:

a=0.4876 b=0.4876

S= 0.237754 m^2 P=1.9504 m d=0.689571 m

Rectangle is square.

Your rectangle is our now:

a=0.4876 b=0.4876

S= 0.237754 m^2 P=1.9504 m d=0.689571 m

Rectangle is square.

Repeat or quit?(r/q)...r

The destructor "~rectangle()" worked.

Our rectangle:

a=0.4876 b=0.4876

S= 0.237754 m^2 P=1.9504 m d=0.689571 m

Rectangle is square.

Input a, b:

16.23

31.06

The constructor "rectangle(double, double)" worked.

Your rectangle:

a=16.23 b=31.06

S= 504.104 m^2 P=94.58 m d=35.0448 m

Rectangle is not square.

Your rectangle is our now:

a=16.23 b=31.06

S= 504.104 m^2 P=94.58 m d=35.0448 m

Rectangle is not square.

Repeat or quit?(r/q)...q

The destructor "~rectangle()" worked.

The destructor "~rectangle()" worked.

D:\Studies\Labs\Cpp\Individ_6>

2 часть работы «Информационные динамические структуры»

Постановка задачи

Написать программу, в которой создаются динамические структуры, и выполнить их обработку в соответствии со своим вариантом.

Для каждого вариант разработать следующие методы:

  1. Конструктор пустого списка.

  2. Добавление элемента в список (в соответствии со своим вариантом).

  3. Удаление элемента из списка (в соответствии со своим вариантом).

  4. Печать списка.

  5. Запись списка в файл.

  6. Восстановление списка из файла.

  7. Деструктор списка (уничтожение).

Порядок выполнения работы

  1. Разработать описание класса, выделить публичные и приватные поля данных. Разработать интерфейс класса – прототипы методов.

  2. Написать функцию для создания списка. Функция может создавать пустой список, а затем добавлять в него элементы.

  3. Написать функцию для печати списка. Функция должна предусматривать вывод сообщения, если список пустой.

  4. Написать функции для удаления и добавления элементов списка в соответствии со своим вариантом.

  5. Выполнить изменения в списке и печать списка после каждого изменения.

  6. Написать функцию для записи списка в файл.

  7. Написать функцию для уничтожения списка.

  8. Записать список в файл, уничтожить его и выполнить печать (при печати должно быть выдано сообщение "Список пустой").

  9. Написать функцию для восстановления списка из файла.

  10. Восстановить список и распечатать его.

  11. Уничтожить список.

Варианты заданий

  1. Записи в линейном списке содержат поле данных звена типа *char(строка символов). Сформировать двунаправленный список. Удалить из него К элементов с указанными номерами. Добавить К элементов с указанными номерами.

Програма:

#ifndef list_h

#define list_h

class list

{

private:

struct element

{

char* info;

element* up;

element* down;

};

element *first, *last, *current;

public:

list(); //constructor

~list(); //destructor

void del_list(); //ochishchajet spisok

void init_list(int,char*); //initsializatsia spiska fonarhym metodom

void print_list(); //vyvod na ekran spiska

int current_element(int); //zdelat element s nomerom "int" tekushchim, vernetsa 0;

//Esli doidem do kontsa spiska,to vernetsa nomer poslednego elementa,kotoryi i budet tekushchim

int next_element(); //sdelat tekushchim sledujushchiy element tekuschuego

int previous_element(); //sdelat tekushchim predydushchiy element tekuschuego

int num_current(); //nomer v spiske tekushchego elementa

char* read_element(int &); //prochitat element s nomerom; Robe jogo tekushchim

char* read_element(); //prochitat tekushchiy element

void add_element(char*, int &);//dobavit element na nomer "int"; Robe novyi element tekushchim

void add_after(char*); //dobavit element posle tekushchego; Robe novyi element tekushchim

void add_before(char*); //dobavit element do tekushchego; Robe novyi element tekushchim

void del_element(); //udalit tekushchiy element; Robe sleduushchiy element tekushchim

void del_element(int &); //udalit element z nomerom "int"; Robe sleduushchiy element tekushchim

int fput_list(char*); //zapisat spisok v fail s imenem char*

int fget_list(char*); //vostanovit spisok iz faila s imenem char*

int num_list(); //kol-vo zvenjev u spiska

};

#endif

#ifndef list__h

#define list__h

#include "list.h"

#include

list::list()

{

current=last=first=NULL;

};

void list::add_after(char* s)

{

if (current==NULL)

{

current=new element[1];

current->info=new char[strlen(s)+1];

strcpy(current->info,s);

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

first=last=current;

return;

};

if (current==last)

{

last=new element[1];

last->info=new char[strlen(s)+1];

strcpy(last->info,s);

last->down=NULL;

last->up=current;

current->down=last;

current=last;

return;

};

//put in buffer adress down

last->down=current->down;

current->down=new element[1];

current->down->up=current;

current=current->down;

current->down=last->down;

//clear buffer

last->down->up=current;

last->down=NULL;

current->info=new char[strlen(s)+1];

strcpy(current->info,s);

return;

};

void list::add_before(char* s)

{

if (current==NULL)

{

add_after(s);

return;

};

if (current==first)

{

first=new element[1];

first->up=NULL;

first->down=current;

current=current->up=first;

first->info=new char[strlen(s)+1];

strcpy(first->info,s);

return;

};

first->up=current->up;

current->up=new element[1];

current->up->down=current;

current=current->up;

current->up=first->up;

first->up->down=current;

first->up=NULL;

current->info=new char[strlen(s)+1];

strcpy(current->info,s);

return;

};

void list::add_element(char* s, int &k)

{

int i;

i=current_element(k);

if ((i

{

cout<<"V spiske vsego "<

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

{

cout<<"V spiske vsego "<

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

{

cout<<"V spiske vsego "<

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

{

cout<<"| "

temp=temp->down;

}

while (temp);

cout<<"\n";

return;

};

int list::fput_list(char* s)

{

FILE* f;

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

{

cout << "Can not open file "<

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 "<

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: "<

cout<<"\nTekuschiy element spiska: "<

cout<<"Press 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: "<

cout<<"\nTekuschiy element spiska: ";

cout<

cout<<"Press 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: "<

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

cin>>n;

getchar();//clear iostream

for (int i=0; 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: "<

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

getchar();

};

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

s.next_element();

cout<<"\nVsego elementov v spiske: "<

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

getchar();

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

cin>>n;

getchar();//clear iostream

for (int i=0; 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: "<

cout<<"Press 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

{

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 "<

s.add_element(a,k);

s.print_list();

cout<<"\nVsego elementov v spiske: "<

cout<<"Press 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: "<

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

cin>>n;

getchar();//clear iostream

for (int i=0; i

{

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

s.del_element();

s.print_list();

cout<<"\nVsego elementov v spiske: "<

cout<<"Press 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

{

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

cin>>k;

cout<<"Udalenie "<

s.del_element(k);

s.print_list();

cout<<"\nVsego elementov v spiske: "<

cout<<"Press 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: "<

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

getchar();

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

s.fget_list("Seha.lsm");

s.print_list();

cout<<"\nVsego elementov v spiske: "<

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

getchar();

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

s.previous_element();

cout<<"\nVsego elementov v spiske: "<

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

getchar();

cout<<"Press 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 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 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 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 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 for go on...

Delaem tekuschim sledujushiy element...

Vsego elementov v spiske: 12

Tekuschiy element spiska: 10

Press 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 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 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 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 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 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 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 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 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 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 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 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 for go on...

Zapis' spiska v fail...

Udalenie spiska...

Vmestimoe spiska:

Spisok pust!!!

Vsego elementov v spiske: 0

Tekuschiy element spiska: 0

Press 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 for go on...

Delaem tekuschim predyduschiy element...

Vsego elementov v spiske: 12

Tekuschiy element spiska: 11

Press for go on...

Press 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

Характеристики

Тип файла
Документ
Размер
117,18 Kb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов сочинения

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6381
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее