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

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

Восстановить пароль Регистрация
 
Vova701
0 / 0 / 0
Регистрация: 11.12.2010
Сообщений: 8
23.01.2011, 20:57     Поменять местами первый и последний элементы списка и удалить их средне арифметическое #1
Помогите решить задачи пожалуйста!!!
1)Дан список, содержащие числовые данные. Поменять местами первый и последний элементы и удалить из списка их средне арифметическое (если такой элемент есть в списке)
2) Сформировать матрицу В(m, n), элементами которой являются случайные числа, равномерно распределенные в интервале [-5, 5]. Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент матрицы оказался в правом нижнем углу.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2011, 20:57     Поменять местами первый и последний элементы списка и удалить их средне арифметическое
Посмотрите здесь:

Дан массив E[0:n-1].Поменять местами его первый чётный и последний нечётный элементы C++
C++ Поменять местами первый и последний элементы массива
C++ Поменять местами первый и последний элементы непустого списка
C++ Массивы. Поменять местами первый минимальный и последний максимальный элементы
C++ Создать динамический список, поменять местами последний и первый элементы списка, предпоследний и второй и т.д.
C++ Поменять в списке местами первый минимальный и последний максимальный элементы
C++ В каждой строке матрицы поменять местами максимальный и первый, минимальный и последний элементы
C++ Поменять местами первый отрицательный и последний положительный элементы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
23.01.2011, 22:20     Поменять местами первый и последний элементы списка и удалить их средне арифметическое #2
это вторая
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
#include <cstdlib>
#include <iostream.h>
#include <conio.h>
 
 
int main()
{
    int n=5,m=6,max=-5,maxi=0,maxj=0,temp;
    int **arr=new int*[n];
    for(int i=0;i<n;i++) arr[i]=new int[m];
    for(int i=0;i<n;i++)
    {
            for(int j=0;j<m;j++)
            {
            arr[i][j]=rand()%11-5;if (arr[i][j]>max){ maxi=i;maxj=j; max=arr[i][j];}
            
            cout<<arr[i][j]<<"\t";
            }
cout<<endl;
}
for(int i=0;i<n;i++)
{temp=arr[i][maxj];arr[i][maxj]=arr[i][m-1];arr[i][m-1]=temp;}
 for(int j=0;j<m;j++)   
  {temp=arr[maxi][j];arr[maxi][j]=arr[n-1][j];arr[n-1][j]=temp;} 
    
 cout<<endl<<endl;
 for(int i=0;i<n;i++)
 {
            for(int j=0;j<m;j++)
            {         
            cout<<arr[i][j]<<"\t";
            }
 cout<<endl;
}
    system("PAUSE");
    
}
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
24.01.2011, 11:34     Поменять местами первый и последний элементы списка и удалить их средне арифметическое #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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";
 
}
Yandex
Объявления
24.01.2011, 11:34     Поменять местами первый и последний элементы списка и удалить их средне арифметическое
Ответ Создать тему
Опции темы

Текущее время: 12:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru