Форум программистов, компьютерный форум CyberForum.ru

Поменять местами первый и последний элементы списка и удалить их средне арифметическое - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread233149.html
Привет! Помогите, плиз решить, я в этом почти не шарю,: В одномерном массиве из 25 вещественных чисел вычислить среднее арифметическое положительных чисел. Преобразовать исходный массив, вычитая из каждого элемента среднее значение. Мне нужна ток блок схема!))
C++ Дан текстовый файл с фамилиями жильцов дома Дан текстовый файл с фамилиями жильцов дома. Вывести на экран 1) фамилии, которые не повторяются 2) фамилии и число их повторений. Учитывать, что одинаковые фамилии могут принадлежать мужчинам и женщинам (например Сидоров - Сидорова, Соколовский - Соколовская на си!)помогите http://www.cyberforum.ru/cpp-beginners/thread233147.html
C++ Нахождение минимального элемента массива
Изучаю С++... Помогите решить задачку!! В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) минимальный элемент массива 20 сумму элементов, расположенных между первым и последним положительными элементами... вот что уже написал, но сумму не могу найти #include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int main()
C++ массив
Нужно создать динамический массив с генерацией случайных чисел. Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов хотя бы один нулевой элемент. Характеристикой строки целочисленной матрицы назовем сумму ее отрицательных четных элементов. переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик. #include <iostream> #include...
C++ статический массив http://www.cyberforum.ru/cpp-beginners/thread233133.html
В одномерном статическом массиве состоящем из n вещественных элементов, вычислить: 1) количество элементов массива, больших С; 2) произведение элементов массива, расположенных после максимально по модулю элемента. Преобразовать массив таким образом, чтобы сначала располагались все отрицательные элементы, а потом все положительные (элементы, равные 0, считать положительными). массив задается...
C++ Составные типы данных: структуры Помогите решить задачи пожалуйста!!! Дан массив данных о работниках фирмы: ФИО и год поступления на работу. Во второй массив записать только данные тех из них, кто на сегодняшний день проработал уже не менее 5 лет. подробнее

Показать сообщение отдельно
igorrr37
1636 / 1264 / 129
Регистрация: 21.12.2010
Сообщений: 1,925
Записей в блоге: 7
24.01.2011, 11:34     Поменять местами первый и последний элементы списка и удалить их средне арифметическое
1.
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include <iostream>
#include <ctime>
#include<cstdlib>
using namespace std;
 
template<class T>
struct node{
    T data;
    node* next;
    node():next(0){}
    node(T a):data(a), next(0){}
    node<T>* insert(T);
    void show();
    bool find(T);
    node<T>* delNode(T);
    void del();
};
 
template<class T>
node<T>* node<T>::insert(T a){
    if(a>data&&next!=0){
        next=next->insert(a);
        return this;
    }
    else if(a>data&&next==0){
        node<T>* temp=new node<T>(a);
        next=temp;
        return this;
    }
    else{
        node<T>* temp=new node<T>(a);
        temp->next=this;
        return temp;
    }
}
 
template<class T>
void node<T>::show(){
    cout<<data<<"  ";
    if(next!=0) next->show();
    else cout<<"\n\n";
}
 
template<class T>
bool node<T>::find(T a){
    if(data==a) return 1;
    else if(next==0) return 0;
    else{
        bool result=next->find(a);
        return result;
    }
}
 
template<class T>
node<T>* node<T>::delNode(T a){
    if(data==a){
        return next;
    }
    if(data!=a&&next==0) return this;
    else{
        node<T>* temp=next->delNode(a);
        if(temp!=next){
            delete next;
            next=temp;
        }
        return this;
    }
}
 
template<class T>
void node<T>::del(){
    if(next!=0){
        next->del();
        delete next;
        next=0;
    }
}
 
template<class T>
struct list{
    node<T>* head;
    list():head(0){}
    void insert(T);
    void show();
    bool find(T);
    void delNode(T);
    void del();
};
 
template<class T>
void list<T>::insert(T a){
    if(head==0) head=new node<T>(a);
    else head=head->insert(a);
}
 
template<class T>
void list<T>::show(){
    if(head!=0) head->show();
}
 
template<class T>
bool list<T>::find(T a){
    if(head==0) return 0;
    else{
        bool result=head->find(a);
        return result;
    }
}
 
template<class T>
void list<T>::delNode(T a){
    if(head!=0){
        node<T>* temp=head->delNode(a);
        if(temp!=head){
            delete head;
            head=temp;
        }
    }
}
 
template<class T>
void list<T>::del(){
    if(head!=0){
        head->del();
        delete head;
        head=0;
    }
}
 
int main(){
    srand(time(0));
    list<float> l;
    for(int i=0;i<20;i++) l.insert(rand()%20-10);
    l.show();
    node<float>* temp;
    temp=l.head;
    while(temp->next!=0) temp=temp->next;
    float tempData;
    tempData=l.head->data;
    l.head->data=temp->data;
    temp->data=tempData;
    cout<<"\nAfter exchange first and last: \n";
    l.show();
    float average=(l.head->data+temp->data)/2.0;
    cout<<"average= "<<"("<<l.head->data<<"+"<<temp->data<<")/2= "<<average<<"\n";
    while(l.find(average)) l.delNode(average);
    cout<<"\nAfter deleting average: \n";
    l.show();
    l.del();
    cout<<"\nhead= "<<l.head<<"\n";
 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru