Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2014, 15:26   #1
CkooTuHa
Пользователь
 
Регистрация: 08.12.2013
Сообщений: 27
По умолчанию Поменять местами элементы массива

Есть задача:Найти макс. элемент одномерного массива, минимальный и поменять местами максимальный и минимальный элемент одномерного массива.
Так, вот. Как поменять их местами? Может поможет кто?
Собственно сам код:
З.Ы. -
Код 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;
}
//---------------------------------------------------------------------------


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 18.12.2014 в 16:43.
CkooTuHa вне форума Ответить с цитированием
Старый 18.12.2014, 17:08   #2
Zis67
Пользователь
 
Аватар для Zis67
 
Регистрация: 06.04.2011
Сообщений: 80
По умолчанию

Можете добавить ещё две переменных, в одну писать номер максимального числа, в другую минимального. После того как у вас заполнились max и min заменяете ими числа в массиве.
Будет что-то вроде
Код:
for (int i; i<num; i++){
if (a[i]>max) 
{max=a[i];
maxi=i}
if (a[i]<min) 
{min=a[i];
mini=i}
}
...
a[maxi]=min;
a[mini]=max;
С си я на вы, так что код наверно придёться подправить).
Zis67 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти минимальный и максимальный элементы массива Х и поменять их в массиве местами. Элементы массива вычисляются по формуле Xi=(( Милашечка Помощь студентам 0 26.05.2013 13:01
Поменять местами элементы массива Pascal olga_v95 Помощь студентам 2 19.03.2013 23:04
Поменять местами элементы одномерного массива McFrey Помощь студентам 8 08.12.2011 23:03
Поменять местами наименьший и наибольший элементы массива. KOPC1886 Помощь студентам 2 06.01.2011 21:02