Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Подскажите как правильно сделать - C++

06.11.2013, 22:19. Просмотров 229. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста нужно отсортировать четные элементы массива а не четные оставить на своих местах.
Например ввожу 14 52 6 8 4 ---— 1 и 5 не четные они стоят на месте а четные сортируются вот что выходит --— 1 2 5 4 4 6 8.
Вот код но он сортирует все элементы массива
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
#include <iostream>
#include <stdlib.h>
#include <conio.h>
int form (int a[100])
{
int n;
printf ("\n enter " ) ;
scanf ("%d",&n);
for (int i=0; i<n; i++)
a[i]=rand()%15;
return n;
}
 
void print (int a[100], int n)
{
for (int i=0; i<n; i++)
printf ("%d ",a[i]);
printf ("\n" );
}
 
void dell (int a[100], int &n)
{
int i;
int t;
int j=0, b [100];
 
for ( i=0; i<n; i++)
if (a[i] %2!=0 )
{
 
for (int i=0;i<n;i++)
for (int j=0; j<n;j++)
if (a[j] > a[j+1]) {
t = a[j];
a[j] = a[j+1];
a[j+1] = t ;
}
}
 
}
 
int main ()
{
int a[100];
int n;
n=form(a);
print (a,n);
dell (a,n);
print (a,n);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2013, 22:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подскажите как правильно сделать (C++):

Подскажите как правильно сделать - C++
Нужно добавить К столбцов в начало матрицы, добавлять оно добавляться но оно берет память левую, выходит за приделы массива, не могу...

Подскажите как правильно сделать - C++
Нужно добавить К столбцов в начало матрицы, я сделала но добавление в конец, не подскажете как добавить в начало ...

Подскажите как правильно сделать ! пожалуста с обяснением ! - C++
Задан двумерный массив N x M. Найти в нем подмассив 3 х 3, сумма элементов которого максимальна. N и M могут быть не кратны трем

Подскажите как правильно сделать алгоритм дешифровки - C++
Здравствуйте, есть следующий код: #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;string.h&gt; #define m 4096 #define y0 4003 #define...

Пожалуйста подскажите как правильно! - C++
Получите целочисленную матрицу A размеров nxm, для которой aij=i+2j

Подскажите, как правильно написать - C++
Здравствуйте! Подскажите, пожалуйста, как написать такой код правильно: class Example { public: Example(int...

2
RQdan
65 / 65 / 17
Регистрация: 26.10.2013
Сообщений: 198
06.11.2013, 22:48 #2
Цитата Сообщение от Keitlin16 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
for ( i=0; i<n; i++) 
if (a[i] %2!=0 ) 
{ 
for (int i=0;i<n;i++) 
for (int j=0; j<n;j++) 
if (a[j] > a[j+1]) 
{ 
t = a[j]; a[j] = a[j+1]; a[j+1] = t ; 
} 
}
Надо заменить этот фрагмент кода на следующий:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int buf;
for(int i=0;i<n-1;i++)
 if(a[i]%2!=1)
 {
  t=i;
  //поиск ячейки с наименьшим значением начиная от текущей ячейки
  for(int j=i+1;j<n;j++)
   if(a[j]%2!=1)
    if(a[t]>a[j]) t=j;
  //текущей ячейке присваивается найденое наименьшее значение
  buf=a[t];
  a[t]=a[i];
  a[i]=buf;
}
0
Keitlin16
1 / 1 / 0
Регистрация: 12.01.2013
Сообщений: 83
06.11.2013, 23:13  [ТС] #3
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2013, 23:13
Привет! Вот еще темы с ответами:

подскажите, как правильно составить алгоритм - C++
Есть 3 планеты, которые вращаются вокруг звезды. Массу, скорость и радиус планет я ввожу с клавиатуры. 5. Рассчитать, на каком расстоянии...

Подскажите пожалуйста как правильно расспечатать - C++
Всем привет! Как правильно расспечатать? void fun(void ** vaddr){ printf(&quot;%p&quot;, *(int*)vaddr); } Так будет...

Подскажите как правильно добавить виртуальный деструктор - C++
Доброго времени суток Подскажите пожалуйста, как правильно добавить виртуальный деструктор в класс Int, Double, String и что он должен...

Подскажите пожалуйста, как правильно освободить память - C++
Всем ку! Подскажите пожалуйста, как правильно удалить(освободить память) массива array2D. Array1D&lt;Elem&gt;* array2D = ...


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

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

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