Поменять Местами Элементы Массива

CkooTuHa

New member
28.12.2014
1
0
#1
Есть задача:Найти макс. элемент одномерного массива, минимальный и поменять местами максимальный и минимальный элемент одномерного массива.
Так, вот. Как поменять их местами? Поможет кто-нибудь реализовать это?
Собственно сам код:
З.Ы. -
C++:
//--------------------------------------------------------------------------- 
#include <iostream> 
#include <vcl.h> 
#pragma hdrstop 
#include <ctime> 
using namespace std; 
//--------------------------------------------------------------------------- 
#pragma argsused 
int main(int argc, char* argv[]) 
{ 
int num=0; 
int max=0; 
int min=0; 
int i=0; 
int t=0; 
int chislo=0; 
int a1, b1; 
srand( time( 0 ) ); 
cout<<"Vvedite kol-vo elementov massiva: "<<endl; 
cin>>num; 
cout<<"Vvedite pervoe (menshee) chislo diapazona: "<<endl; 
cin>>a1; 
cout<<"Vvedite vtoroe (bolshee) chislo diapazona: "<<endl; 
cin>>b1; 
int *a = new int[num]; 
cout<<"Massiv:"<<endl; 
for (int i; i<num; i++){ 
a[i]=a1 + rand() % b1; 
cout<<a[i]<<", "; 
} 
max = a[0]; 
min = a[0]; 
for (int i; i<num; i++){ 
if (a[i]>max) max=a[i]; 
if (a[i]<min) min=a[i]; 
} 
cout<<endl; 
cout<<"Vyberite nomer deistviya: "<<endl; 
cout<<"1 - vyvesti max element massiva,"<<endl; 
cout<<"2 - vyvesti min element massiva,"<<endl; 
cout<<"3 действие "<<endl; 
cin>>t; 
if (t==1){ 
cout<<"MAX = "<<max<<endl; 
} 
if (t==2){ 
cout<<"MIN = "<<min<<endl; 
} 
if (t==3){ 
(Тут действие) 



} 
cout<<endl; 
delete [] a; 
system ("pause"); 
return 0; 
} 
//---------------------------------------------------------------------------
 
10.11.2010
17
0
#2
Кроме значений минимального и максимального элемента запоминай еще их индексы. Ну а дальше, зная индексы, поменять местами два элемена массива - элементарно.