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

Алгоритм сортировки - C++

Восстановить пароль Регистрация
 
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
25.04.2013, 23:14     Алгоритм сортировки #1
Дан одномерный масив.
мне в нем нужно отсортировать по возростанию только те числа масива которые простые, а остальные оставить на той же позиции как и были.

вот так я смотрю простое число или не

C++
1
2
3
4
5
6
7
8
9
10
11
12
int isSimple (int x)
{
int retVal = 1;
int i = 2;
while (i<=sqrt((double)x) && retVal==1)
{
if (x%i==0) retVal=0;
i++;
 
}
return retVal;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2013, 23:14     Алгоритм сортировки
Посмотрите здесь:

C++ Алгоритм сортировки
C++ Комбинированый алгоритм сортировки
C++ Алгоритм сортировки
Алгоритм сортировки,ошибка! C++
Алгоритм пузырьковой сортировки C++
Реализовать алгоритм сортировки C++
Алгоритм сортировки C++
Алгоритм быстрой сортировки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
26.04.2013, 06:49     Алгоритм сортировки #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
44
45
46
#include <stdio.h>
#include <conio.h>
 
#define N 10
 
bool is_simple(int n);
void swap(int& n1, int& n2);
 
int main(int argc, char* argv[])
{
    int A[N] = { 5, 8, 7, 4, 6, 3, 7, 2, 5, 3 };
 
    for (int t = 0; t < N; t++)
        printf("%d ",A[t]);
    printf("\n\n");
 
    for (int i = 0; i < N; i++)
    {
        int min = i;
        for (int k = i+1; k < N; k++)
            if (A[k] < A[min]) min = k;
 
        if (is_simple(A[i]) && is_simple(A[min]))
            swap(A[i],A[min]);
    }
 
    for (int z = 0; z < N; z++)
        printf("%d ",A[z]);
    printf("\n");
 
    _getch();
 
    return 0;
}
 
void swap(int& n1, int& n2)
 { int _tn = n1; n1 = n2; n2 = _tn; }
 
bool is_simple(int n)
{
    int count = 0;
    for (int div = 1; div <= n; div++)
        if ((n % div) == 0) count++;
 
    return count == 2 ? 1 : 0;
}
http://codepad.org/hUhHwxFj
Миниатюры
Алгоритм сортировки  
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
26.04.2013, 22:42  [ТС]     Алгоритм сортировки #3
спасибо)) вчера сам додумался как сделать, но всеравно спасибо за то что сделали!
Yandex
Объявления
26.04.2013, 22:42     Алгоритм сортировки
Ответ Создать тему
Опции темы

Текущее время: 12:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru