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

Переписать все простые числа из заданного массива в другой массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Прием врача http://www.cyberforum.ru/cpp-beginners/thread205710.html
Очень тяжелая задача(( я пробовал сам писать но ни чего не получилось(( Помогите!!! Прием врача. Врач принимает по четным дням в первую смену (9-13), по нечетным - во вторую (13-17). Время консультации занимает 20 минут. Написать программу, которая бы выдавала номер свободного места в расписании, или Ф.И.О. пациента, записанного на прием в определенное время. P.S. Пишем программу на...
C++ Написать программу, которая вводит по строкам с клавиатуры двумерный масив и проводит вычисления Написать программу, которая вводит по строкам с клавиатуры двумерный масив и вычисляет его элементов по столбцам http://www.cyberforum.ru/cpp-beginners/thread205701.html
Массивы. Только учусь. Выборка и сортировка C++
Задание такое. Язык: C Define использовать нельзя!!! С клавиатуры вводятся слова разделенные пробелами. На экран выводятся в порядке убывания все слова, состоящие только из арабских цифр. Данные: N = 5 S = "ade5 543 3sa6 12 5796"
Рекурсия! C++
Написать функцию определения, является ли заданное натуральное число простым. (рекурсивно)
C++ На указатели : Поменять местами значения, адресуемые указателями. Указатели передвинуть на третий и четвёртый элементы массива, переставить адресу.... http://www.cyberforum.ru/cpp-beginners/thread205678.html
Создать вещественный массив из 20 элементов. Объявить два указателя. Одному присвоить адрес первого элемента массива, другому — второго. Поменять местами значения, адресуемые указателями. Указатели передвинуть на третий и четвёртый элементы массива, переставить адресуемые значения, перейти к следующей паре и т.д.
C++ Вычеслить суммы элементов главных диагоналей матриц Вычеслить суммы элементов главных диагоналей матриц A(N,N) B(M,M).M и N(<=20) подробнее

Показать сообщение отдельно
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
11.12.2010, 01:30     Переписать все простые числа из заданного массива в другой массив
эх, ладно, не буду дальше спрашивать
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream.h>
//Дан массив целых положительных чисел.
//Переписать все простые числа из заданного массива в другой массив.
//Первый массив упорядочить по возрастанию, второй по убыванию.
//Создать функции для определения простого числа и для сортировки элементов массива
 
bool isSimple(int number)
{
    if (number == 2)
        return true;
    else if (!(number & 1) || number == 1)
        return false;
    else
    {
        for (int i = 3; i < number; i += 2)
            if (!(number % i))
                return false;
        return true;
    }
}
 
int* sort(int* array, int size, bool direct)
{
    int i, j, tmp;
    if (direct)
    {
        for (i = 0; i < size; ++i)
            for (j = 0; j < size - i - 1; ++j)
                if (array[j] > array[j + 1])
                {
                    tmp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = tmp;
                }
    }
    else
    {
        for (i = 0; i < size; ++i)
            for (j = 0; j < size - i - 1; ++j)
                if (array[j] < array[j + 1])
                {
                    tmp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = tmp;
                }
    }
    return array;
 
}
int main()
{
    int n;
    cout << "Input n:\n> ";
    cin >> n;
    int* arr = new int[n];
    int* secondArr = new int[n];
    int i, j = 0;
    cout << "Input array:\n";
    for (i = 0; i < n; ++i)
        cin >> arr[i];
 
    for (i = 0; i < n; ++i)
        if (isSimple(arr[i]))
        {
            secondArr[j] = arr[i];
            ++j;
        }
    arr = sort(arr, n, true);
    secondArr = sort(secondArr, j, false);
    cout << "First array:\n";
    for (i = 0; i < n; ++i)
        cout << arr[i] << ' ';
    cout << endl;
    cout << "Second array:\n";
    for (i = 0; i < j; ++i)
        cout << secondArr[i] << ' ';
    return 0;
}
Последний вопрос. Вы создаете C++ или С проект, кажется в нем есть такой выбор? И у вас IDE не Borland Builder, а Borland 3.0
 
Текущее время: 19:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru