Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

16_II / максимум и минимум поменять местами

.cpp
Скачиваний:
19
Добавлен:
10.02.2015
Размер:
1.08 Кб
Скачать
#include <iostream>
using namespace std;

struct List { int data;
List *next;};

void create_List (List *&nach, int n){
List *p;
nach=0;
for(int i=0; i<n;i++){
p=new List;
cin>>p->data;
p->next=nach;
nach=p;}
}
void pokaz_List(List *nach){
List *p;
p=nach;
while (p!=0){
cout<<p->data<<" ";
p=p->next;}
}
int max_List(List *nach){
int max;
List *p;
p=nach;
max=p->data;
while(p!=0){
if(max<p->data)
max=p->data;
p=p->next;
}
return max;
}
int min_List(List *nach){
int min;
List *p;
p=nach;
min=p->data;
while(p!=0){
if(min>p->data)
min=p->data;
p=p->next;
}
return min;
}
List *adress_x_List(List *nach,int x){
List *p;
p=nach;
while((p!=0)&&(p->data!=x))
p=p->next;
return p;
}

void main(){
int n,min,max,r;
List *nach1, *p, *q;
cout<<"n= ";
cin>>n;
create_List(nach1,n);
pokaz_List(nach1);
cout<<endl;
max=max_List(nach1);
min=min_List(nach1);
cout<<"max= "<<max<<" "<<"min= "<<min<<endl;
p=adress_x_List(nach1,max);
q=adress_x_List(nach1,min);
r=p->data;
p->data=q->data;
q->data=r;
pokaz_List(nach1);
}