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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
07.12.2010, 22:00     Переписать все простые числа из заданного массива в другой массив #1
Дан массив целых положительных чисел. Переписать все простые числа из заданного массива в другой массив. Первый массив упорядочить по возрастанию, второй по убыванию. Создать функции для определения простого числа и для сортировки элементов массива
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 22:00     Переписать все простые числа из заданного массива в другой массив
Посмотрите здесь:

Напечатать все простые числа из заданного диападона C++
из заданного интервала натуральных чисел определить все простые числа C++
из заданного интервала натуральных чисел определить все простые числа C++
C++ Дано натуральное число. Вывести на экран все простые числа до заданного числа.
C++ Найти все простые числа, не превосходящие заданного N >0
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
09.12.2010, 13:15     Переписать все простые числа из заданного массива в другой массив #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
47
48
49
50
51
52
53
54
55
56
57
58
59
// функция сортировки, триггер перключения t = true - по возрастанию
// t = false по убыванию
void   sort2(int*  arr, int size,  bool  t = false) {
    while(true) {
        short _a = 0;
        for(int i = 0; i < size - 1; i++) {
            if( *((arr) + i)  > *((arr) + i + 1) && t ||
               *((arr) + i)  < *((arr) + i + 1) && ! t) {
                 int d = *((arr) + i + 1);
                 *((arr) + i + 1) = *((arr) + i);
                *((arr) + i) = d;
                _a |= 1;
            }
        }
        if(! _a)
           break;
    }
}
 
 
// поиск числа в массиве
bool     cmp2(const int* arr, int size, int num)  {
    while( size -- ) {
        if(  *arr++ == num )
            return true;
    }
    return false;
}
 
 
 
 
 void  main(){
 
     int    ptr[10];
     int*  next  = ptr;
     int    size  = sizeof(ptr) / sizeof(int);
 
     int  sub = size;
     while( sub-- )    // заполняем массив разными случайными числами
          *next++ = (rand() % 100) + 1;
 
     int  arr[2][10];
 
     memcpy(  arr[0],   ptr, size *  sizeof(int));
     memcpy(  arr[1] ,  ptr, size *  sizeof(int));
              ::sort2( arr[0], size, true);    // сортировка по возрастанию  ASC
     ::sort2( arr[1], size, false);   // сортировка по убыванию DESC
    
     
     for(int j = 0; j < size; j++) 
        cout << " sort asc = " << arr[0][j] << '\t' << "sort desc = " << arr[1][j] << endl;
 
 
     if( ::cmp2( arr[0],  10, size))   // ищем число 10 в 1 - массиве
        cout << "УРА есть такое число" << endl;
     else
        cout << "НЕТ такого числа" << endl;
}
Смотри что здесь начиркал Я.
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
09.12.2010, 19:20  [ТС]     Переписать все простые числа из заданного массива в другой массив #3
выдаёт ошибку в данной строке

C++
1
void   sort2(int*  arr, int size,  bool  t = false) {
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
10.12.2010, 11:29     Переписать все простые числа из заданного массива в другой массив #4
перепишите так

C++
1
void   sort2(int*  arr, int size,  bool  t) {
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
10.12.2010, 18:28  [ТС]     Переписать все простые числа из заданного массива в другой массив #5
все равно ошибка.

Возможно решить по-другому?Более понятно..
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
10.12.2010, 18:33     Переписать все простые числа из заданного массива в другой массив #6
Ксения О, можно, но лень. Напишите какая у вас ошибка и на какой строке
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
10.12.2010, 22:52  [ТС]     Переписать все простые числа из заданного массива в другой массив #7
всё на той же строке ошибка:

void sort2(int* arr, int size, bool t) {

Хотелось бы проще решение-не смогу объяснить как решала..
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
10.12.2010, 23:04     Переписать все простые числа из заданного массива в другой массив #8
Ксения О, я все понимаю, но может все же ответите на поставленный вопрос?
Цитата Сообщение от M128K145 Посмотреть сообщение
Напишите какая у вас ошибка
И какой IDE пользуетесь?
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
10.12.2010, 23:27  [ТС]     Переписать все простые числа из заданного массива в другой массив #9
ошибка:
) expected

Эмм...а на счет IDE не в курсе^^
Хохол
Эксперт C++
 Аватар для Хохол
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
10.12.2010, 23:40     Переписать все простые числа из заданного массива в другой массив #10
IDE - программа, в которой вы пытаетесь скомпилировать и запустить код. У вас это может быть например Visual Studio, DevC++, Code::Blocks, C++ Builder, ну или еще что-нибудь. Просто посмотрите на заголовок окна.
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
10.12.2010, 23:46  [ТС]     Переписать все простые числа из заданного массива в другой массив #11
спасибо)

C++ Builder
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
10.12.2010, 23:58     Переписать все простые числа из заданного массива в другой массив #12
Ксения О, покажите код
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
11.12.2010, 00:05  [ТС]     Переписать все простые числа из заданного массива в другой массив #13
В общем то ,что мне написал xAtom

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
// функция сортировки, триггер перключения t = true - по возрастанию
// t = false по убыванию
void   sort2(int*  arr, int size,  bool  t = false) {
    while(true) {
        short _a = 0;
        for(int i = 0; i < size - 1; i++) {
            if( *((arr) + i)  > *((arr) + i + 1) && t ||
               *((arr) + i)  < *((arr) + i + 1) && ! t) {
                 int d = *((arr) + i + 1);
                 *((arr) + i + 1) = *((arr) + i);
                *((arr) + i) = d;
                _a |= 1;
            }
        }
        if(! _a)
           break;
    }
}
 
 
// поиск числа в массиве
bool     cmp2(const int* arr, int size, int num)  {
    while( size -- ) {
        if(  *arr++ == num )
            return true;
    }
    return false;
}
 
 
 
 
 void  main(){
 
     int    ptr[10];
     int*  next  = ptr;
     int    size  = sizeof(ptr) / sizeof(int);
 
     int  sub = size;
     while( sub-- )    // заполняем массив разными случайными числами
          *next++ = (rand() % 100) + 1;
 
     int  arr[2][10];
 
     memcpy(  arr[0],   ptr, size *  sizeof(int));
     memcpy(  arr[1] ,  ptr, size *  sizeof(int));
              ::sort2( arr[0], size, true);    // сортировка по возрастанию  ASC
     ::sort2( arr[1], size, false);   // сортировка по убыванию DESC
    
     
     for(int j = 0; j < size; j++) 
        cout << " sort asc = " << arr[0][j] << '\t' << "sort desc = " << arr[1][j] << endl;
 
 
     if( ::cmp2( arr[0],  10, size))   // ищем число 10 в 1 - массиве
        cout << "УРА есть такое число" << endl;
     else
        cout << "НЕТ такого числа" << endl;
}
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
11.12.2010, 00:09     Переписать все простые числа из заданного массива в другой массив #14
Ксения О, я же вам уже написал как исправить:
Цитата Сообщение от M128K145 Посмотреть сообщение
перепишите так

C++
1
void   sort2(int*  arr, int size,  bool  t) {
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
11.12.2010, 00:13  [ТС]     Переписать все простые числа из заданного массива в другой массив #15
оуу...ну я уже исправляла как вы говорите...все равно не идет(
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
11.12.2010, 00:17     Переписать все простые числа из заданного массива в другой массив #16
Ксения О, после исправления какая ошибка? У меня нет такого понятия как "не идет", мне надо видеть текст ошибки
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
11.12.2010, 00:20  [ТС]     Переписать все простые числа из заданного массива в другой массив #17
ошибка после t

Текст об ошибке:

) expected
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
11.12.2010, 00:25     Переписать все простые числа из заданного массива в другой массив #18
Ксения О, прикрепите к сообщению cpp файл, так будет проще
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
11.12.2010, 00:35  [ТС]     Переписать все простые числа из заданного массива в другой массив #19
Переписать все простые числа из заданного массива в другой массив
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2010, 00:36     Переписать все простые числа из заданного массива в другой массив
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Ксения О
 Аватар для Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
11.12.2010, 00:36  [ТС]     Переписать все простые числа из заданного массива в другой массив #20
эмм..не знаю как так получилось...ну как то так^^
извиняюсь,что я тугодум)
Yandex
Объявления
11.12.2010, 00:36     Переписать все простые числа из заданного массива в другой массив
Ответ Создать тему
Опции темы

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