2 / 2 / 1
Регистрация: 12.10.2014
Сообщений: 77
1

Нужно в программе ввести функцию Input, багодаря которой мы вводим количество элементов

29.03.2015, 18:16. Показов 618. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как это правильно сделать?
Вообще у нас есть список, в котором мы делаем перезагрузку операций:
+ – объединить списки (list+list);
-- – удалить элемент из начала (--list);
= = – проверка на равенство.
SPISOK.CPP
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include <conio.h>
#include <iostream.h>
#include "SPISOK1.H"
 
 
List::~List()//деструктор
{
    while (Head!=0)//пока по адресу не пусто
     {
    element *temp=Head->Next;//временная переменная для хранения адреса следующего элемента
    delete Head;//освобождаем адрес, обозначающий начало
    Head=temp;//меняем адрес на следующий
         }
}
 
void List::Input(int N)//здесь должна быть функция добавления количества элементов, что тут написать?
{
 
};
 
void List::Input(int x)//функция добавления элементов в список
{
 element *temp=new element;//при каждом вызове выделяется память
temp->x=x;//записываем x в элемент структуры element
temp->Next=Head;
Head=temp;
}
 
 
 
void List::Print()//функция отображения списка на экране
{
 element *temp=Head;
 
 while (temp!=0)
 {
    cout<<temp->x<<" ";
    temp=temp->Next;
 }
}
         int List::operator == (const List &list2)//перегрузка операции присваивания
{
     if (N!=list2.N)//сравниваем размеры списков объектов
{
     cout<<endl<<"spisok 1 "<<N;
     cout<<endl<<"spisok 2 "<<list2.N;
     cout<<endl<<"V spiskah raznoe kolichestvo elementov";
     return 0;
}
     else
{
     for (int i=0;i<N;i++)
{
     if (x[i]!=list2.x[i])
{
     cout<<"Znacheniya spiskov ne ravni";
     return 0;
}
}
}
return 1;
}
        const List& List::operator=(const List &list2)//перегрузка оператора присваивания
{
  delete [] x;
  N=list2.N;
  x=new int [N];
  for (int i=0;i<N;i++)
{
   x[i]=list2.x[i];
}
   return *this;
}
 
 
 
 
   List& List::operator +(List &list2)//перегрузка оператора сложения списков
{
        for (int i=0;i<N;i++)
{x[i]=list2.x[i]+x[i];}
        return *this;
}
 
   void List::operator--()//перегрузка оператора удаления элемента из списка
{
   element *temp=Head,*r;
   int i=0;
   if (N==0)
{
    Head=temp->Next;
    delete [] temp;
     /* return Head;*/
}
        while(temp)
{
     if (i==N-1)
{
    r=temp->Next;
    if(r)
{
    temp->Next=r->Next;
    delete [] r;
}
     else temp->Next=0;
}
     temp=temp->Next;
     i++;
}
/*return Head; */
}
SPISOK1.H
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef SPISOK1_H
#define SPISOK1_H
struct element
{
 int x;
 element *Next;
};
 
class List
{
 int *x;
 int N;
 element *Head;
 public:
  List() {Head=0;}
 ~List();
 void Input(int x);
 void Input(int N);
 void Print();
 int List::operator == (const List &);
 const List& operator=(const List&);
 List& operator +(List &);
 void operator--();
};
#endif
SPISOK2.CPP
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <conio.h>
#include "SPISOK1.H"
#include <iostream.h>
void main()
{
 int x,N;
 clrscr();
    List lst;
 
     cout<<"N = ";cin>>N;
     Ist.Input(N);
 
for (int i=0;i<N;i++)
 {
    cout<<i+1<<". x = "; cin>>x;
    lst.Input(x);
 }
 
lst.Print();
 
    List lst2;
 
     cout<<endl<<"N = ";cin>>N;
     Ist2.Input(N);
 
for (i=0;i<N;i++)
 {
    cout<<i+1<<". x = "; cin>>x;
    lst2.Input(x);
 }
 
lst2.Print();
 
 if(lst==lst2)
{
    cout<<endl<<"Spisok 1 raven spisku 2\n";
}
    else
{
    lst=lst2;
cout<<endl<<"Spisok 1 posle kopirovaniya: ";
 lst.Print();
}
 getch();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2015, 18:16
Ответы с готовыми решениями:

Нужно ввести перемнную значение которой рандомно
Введите переменную значение которой выбивается рандомно в интервале от -1 к 1

Как ввести в программе такую функцию
Совсем недавно осваиваю с++. Не получается f присвоить эту функцию. Не знаю, как правильно вводить

Вводим значения в input и выводим через alert
Здравствуйте, форумчане! Помогите реализовать задачку. Точнее подскажите, что я делаю не так? У...

Как сделать так чтобы программа запрашивала ввести путь к той папке в которой ей нужно исполнится
Всем доброго времени суток есть такая вот проблема написал программу которая переименовывает файлы...

0
29.03.2015, 18:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2015, 18:16
Помогаю со студенческими работами здесь

Нужно, чтобы в макросе после определенной проверки выдавалась форма, на которой надо было ввести имя.
У меня такая проблема: все не могу сделать, чтобы в макросе после определенной проверки выдавалась...

В TexTbox ввести формулу (целевую функцию для оптимизации) и далее в программе работать с этой формулой
Здравствуйте я новичок в этом деле, подскажите как присвоить массиву a значение textbox1-text ...

Нужно заменить функцию в программе
Нужно убрать функцию,Help Me Please:cry: #include &lt;iostream&gt; #include &lt;fstream&gt; #include...

Ввести матрицу целых чисел, количество строк и столбцов которой заранее неизвестно. Ошибка в коде
И снова я..Уже четыре часа мучаюсь с заданием: Ввести матрицу целых чисел, количество строк и...

Нужно поменять процедуру на функцию в программе
program kp; type massiv=array of integer; matr=array of massiv; var a: matr; ...

Ввести строку, в которой слова разделены одним пробелом. Подсчитать количество слов, состоящих из не более чем четырех
#include&lt;stdio.h&gt; #include&lt;string.h&gt; int main() { char ar; int i,kol=0;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru