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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ILLUSH
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 18
#1

Поменять местами наибольший парный с наименьшим не парным элементом - C++

09.04.2014, 21:05. Просмотров 169. Ответов 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
38
39
40
41
42
43
void in(int n,int x[100])
{ randomize();
 for(int i=0;i<n;i++)
  x[i]=random(120)-30;
}
void out(int n,int x[100])
{ for(int i=0;i<n;i++)
  cout<<x[i]<<" ";
}
 
#pragma argsused
int main(int argc, char* argv[])
{  int a[100],nn,n,e,max,Max,Min,min,buf;
  cout<<"Vveditb N = "; cin>>nn;
  in(nn,a);
  out(nn,a);
    cout<<"\n";
 
 
 
 for(int i=0;i<nn;i++)
  {
   if((a[i]>max)&&(a[i]%2==0))  max=i;
   else if((a[i]<min)&&(a[i]%2!=0)) min=i;
   }
 
 
  for(int i=0;i<nn;i++)
    { buf=a[min];
      a[min]=a[max];
      a[max]=buf;
    }
 
 
   for(int i=0;i<nn;i++)
  cout<<a[i]<<" ";
 
 
 
 
        getch();
        return 0;
}




Синим выделяет это a[min]=a[max];
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2014, 21:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять местами наибольший парный с наименьшим не парным элементом (C++):

В двухмерном массиве поменять местами наибольший элемент в первой строке с наименьшим элементом в третьей - C++
в данном двухмерном массиве поменять местами наибольший элемент в первой строке с наименьшим элементом в третьем; Пожалуйста решите очень...

Одномерный массив. Найти наибольший элемент массива и поменять его местами с наименьшим элементом - C++
Дан массив из N чисел. Найти наибольший элемент массива и поменять его местами с наименьшим элементом.

В двумерном массиве поменять местами наибольший элемент у третьем столбце с наименьшим элементом в пятом - C++
Помогите переделать эту программу чтобы были указатели!! Вот задание: У данном двумерном массиве поменять местами наибольший элемент...

В данном двумерном массиве поменять местами наибольший элемент в третьем столбце с наименьшим элементом в пято - C++
Помогите пожалуйста! Вот задание: В данном двумерном массиве поменять местами наибольший элемент в третьем столбце с наименьшим...

Поменять местами наибольший элемент в первой строке матрицы с наименьшим элементом в третьей строке - C++
В двумерном массив заменить местами наибольший элемент в первой строчке с наименьшим элементом в третьем

В матрице поменять местами наибольший элемент в первой строке с наименьшим в 3-ей - C++
в двухмерном массиве поменять местами наибольший елемент в 1 строке с наименшим в 3 помогите с решением

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6359 / 5923 / 1920
Регистрация: 18.12.2011
Сообщений: 15,222
Завершенные тесты: 1
09.04.2014, 21:07 #2
C++
1
2
3
4
5
6
7
8
int amin=a[0];
int amax=a[0];
min=max=0;
for(int i=1;i<nn;i++)
  {
   if((a[i]>amax)&&(a[i]%2==0))  {amax=a[i];max=i;}
   else if((a[i]<amin)&&(a[i]%2!=0)) {amin=a[i];min=i;}
   }
ILLUSH
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 18
09.04.2014, 21:36  [ТС] #3
не помогло

Добавлено через 26 минут
воу воу парни не все сразу!!!
спасибо я сам справился)

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
void in(int n,int x[100])
{ randomize();
 for(int i=0;i<n;i++)
  x[i]=random(120)-30;
}
void out(int n,int x[100])
{ for(int i=0;i<n;i++)
  cout<<x[i]<<" ";
}
void Haib_nap(int n, int a[100])
{ int max=a[0], min=a[0];
 for(int i=0;i<n;i++)
  {
   if((a[i]>max)&&(a[i]%2==0))  max=a[i];
   else if((a[i]<min)&&(a[i]%2!=0)) min=a[i];
   }
   cout<<"\n max = "<<max;
   cout<<"\n min = "<<min;
   cout<<"\n\n";
   for(int i=0;i<n;i++)
    {
    if(a[i]==max) { cout<<min<<" ";}
     else if (a[i]==min) {cout<<max<<" ";}
      else cout<<a[i]<<" ";
    }
 
 
}
#pragma argsused
int main(int argc, char* argv[])
{  int a[100],nn,n,e,max,Max,Min,min,buf,buf1;
  cout<<"Vveditb N = "; cin>>nn;
  in(nn,a);
  out(nn,a);
    cout<<"\n";
  Haib_nap(nn,a);
        getch();
        return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2014, 21:36
Привет! Вот еще темы с ответами:

Наибольший элемент строки матрицы поменять местами с элементом главной диагонали - C++
Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и поменять его местами с элементом главной...

Поменять местами наибольший элемент строки с элементом главной диагонали в матрице - C++
Дана целочисленная квадратная матрица, поменять местами наибольший элемент строки с элементом главной диагонали. Собственно мой вариант,...

В массиве из 10 чисел найти Наибольший элемент и поменять его местами с первого элементом - C++
В массиве из 10 чисел найти Наибольший элемент и поменять его местами с первого элементом. Через printf scanf пожалуйста.

Найти в каждом столбце наибольший элемент и поменять его местами с элементом главной диагонали - C++
Задана матрица порядка n. Найти в каждом столбце наибольший элемент и поменять его местами с элементом главной диагонали.


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru