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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
#1

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

07.12.2010, 22:00. Просмотров 2240. Ответов 23
Метки нет (Все метки)

Дан массив целых положительных чисел. Переписать все простые числа из заданного массива в другой массив. Первый массив упорядочить по возрастанию, второй по убыванию. Создать функции для определения простого числа и для сортировки элементов массива
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2010, 22:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переписать все простые числа из заданного массива в другой массив (C++):

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

Вывести все простые числа из заданного пользователем массива - C++
Задан линейный массив чисел N. N вводит пользователь. Вывести все простые числа массива.

Положительные числа массива переписать в другой массив - C++
#include <iostream> #include <string> using std::cout; using std::cin; using std::endl; int main() { int...

Переписать в другой массив все положительные элементы массива - C++
Дан массив A размера N. Сформировать новый динамический массив B, в который записать все положительные элементы массива A, сохраняя...

Переписать все нечетные элементы массива в другой массив - C++
1) Циклический вычислительный процесс (одномерный массив) Выберите все нечетные элементы произвольного одномерного массива в другой...

Выписать все четные элементы массива и переписать их в другой массив - C++
массив получен, надо выписать все четные числа массива и переписать их в еще один массив благодарю за помощь

23
xAtom
916 / 741 / 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;
}
Смотри что здесь начиркал Я.
0
Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
09.12.2010, 19:20  [ТС] #3
выдаёт ошибку в данной строке

C++
1
void   sort2(int*  arr, int size,  bool  t = false) {
0
M128K145
Эксперт С++
8309 / 3529 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
10.12.2010, 11:29 #4
перепишите так

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

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

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

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

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

C++ Builder
0
M128K145
Эксперт С++
8309 / 3529 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
10.12.2010, 23:58 #12
Ксения О, покажите код
0
Ксения О
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;
}
0
M128K145
Эксперт С++
8309 / 3529 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
11.12.2010, 00:09 #14
Ксения О, я же вам уже написал как исправить:
Цитата Сообщение от M128K145 Посмотреть сообщение
перепишите так

C++
1
void   sort2(int*  arr, int size,  bool  t) {
0
Ксения О
4 / 4 / 0
Регистрация: 06.12.2010
Сообщений: 30
11.12.2010, 00:13  [ТС] #15
оуу...ну я уже исправляла как вы говорите...все равно не идет(
0
11.12.2010, 00:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2010, 00:13
Привет! Вот еще темы с ответами:

Из одномерного целочисленного массива переписать все числа во второй массив - C++
Есть ли уже у кого-то готовое решение ? Из одномерного целочисленного массива переписать все числа во второй массив так, чтобы сначала...

Дано натуральное число. Вывести на экран все простые числа до заданного числа. - C++
Дано натуральное число. Вывести на экран все простые числа до заданного числа.

Найти все натуральные числа, меньшие заданного числа и взаимно простые с ним - C++
Дано натуральное число n. Необходимо получить все натуральные числа, меньшие nn и взаимно простые с ним (два натуральных числа называются...

Найти все простые числа меньшие заданного числа - C++
Помогите Пожалуйста! Простое число это число которое делится только на 1 и на самого себя. Пользователь вводит число n и...


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

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

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