Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 3

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив.

11.04.2012, 08:49. Показов 4543. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу в Microsoft Visual Studio ->Win32 Console application ->C++.
Условие:Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. Первая функция ищет простые числа и заносит их в новый массив, вторая – все числа кратные трем, третья – все четные числа. В программе создайте массив из 3-х указателей на эти функции. Добавьте меню, в котором пользователь может выбрать желаемую операцию.

Помогите найти ошибку, и соответственно исправить ее.

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
#include <math.h>
#include <stdlib.h>
#include <iostream>
bool is_prime( int n ) {
    double sqrt_n = sqrt( n );
    for ( int i = 2; i <= sqrt_n; i++) {
        if (n % i == 0) {
              return false;
        }
    }
    return true;
}
int * get_primes( const int * array, int count, int & outCount ) {
    int * result = new int[ count ];
    outCount = 0;
    for ( int i = 0; i < count; i++ ) {
        if ( is_prime( array[ i ] ) ) {
            result[ outCount ] = array[ i ];
            outCount++;
        }
    }
    return result;
}
int * get_divisible_3( const int * array, int count, int & outCount ) {
    int * result = new int[ count ];
    outCount = 0;
    for ( int i = 0; i < count; i++ ) {
        if ( array[ i ] % 3 == 0 ) {
            result[ outCount ] = array[ i ];
            outCount++;
        }
    }
    return result;
}
int * get_even( const int * array, int count, int & outCount ) {
    int * result = new int[ count ];
    outCount = 0;
    for ( int i = 0; i < count; i++ ) {
        if ( array[ i ] % 2 == 0 ) {
            result[ outCount ] = array[ i ];
            outCount++;
        }
    }
    return result;
}
typedef int * (*function_t)( const int * , int , int & );
function_t functions[ 3 ] = { get_primes, get_divisible_3, get_even };
const int COUNT = 100;
int array[ COUNT ];
void print_array( int * array, int count ) {
    for ( int i = 0; i < count; i++ ) {
        std::cout << array[ i ] << " ";
    }
    std::cout << std::endl;
}
int main()
{
    for ( int i = 0; i < COUNT; i++ ) {
        array[ i ] = rand() % 100;
    }
    std::cout << "init array: " << std::endl;
    print_array( array, COUNT );
    unsigned int code;
    do {
        std::cout << "0 - prime, 1 - div 3, 2 - even. 3 - exit" << std::endl;
        std::cin >> code;
        if ( code < 3 ) {
            int outCount;
            int * p = functions[ code ]( array, COUNT, outCount );
            print_array( p, outCount );
            delete []p;
        }
    } while( code != 3 );
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2012, 08:49
Ответы с готовыми решениями:

Создать функцию, которая принимает указатель на массив и количество элементов
Люди! Огромная просьба помочь. Как сделать функцию, которая принимает указатель на массив и количество элементов и возвращает указатель на...

Указатель на функцию, которая принимает в качестве параметра указатель на массив
я не понимаю. вроде делаю правильно, но выходит ошибка. есть функция. int foo(int *mas){}; cоздаю на нее указатель. int...

Функция принимает указатель на void и возвращает указатель на int
Запишите прототип функции, которая принимает указатель на void и возвращает указатель на int.

3
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
11.04.2012, 09:06
В чем заключается ошибка? И раз вы уж пишите на С++ а не на Си то не
C++
1
2
#include <math.h>
#include <stdlib.h>
а
C++
1
2
#include <cmath>
#include <cstdlib>
0
0 / 0 / 0
Регистрация: 10.04.2012
Сообщений: 3
11.04.2012, 12:54  [ТС]
Увы, проблема не в этом...
Миниатюры
Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив.  
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
11.04.2012, 19:34
Дело не в программе а в IDE, и скорей всего в настройках проекта. У меня ваша программа запускается, правда я не проверял выводимые результаты, попробуйте создать пустой проект консольного приложения и вставить туда ваш код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2012, 19:34
Помогаю со студенческими работами здесь

Функция принимает указатель на динамический массив и возвращает его же, но без чисел полиндромов (читается с обоих сторон одинаково - 234432)
Вот мое решение, подскажите, пожалуйста, что изменить, чтобы заработала программа: # include &lt;iostream&gt; # include...

Как сделать функцию, возвращающую указатель на функцию (которая в свою очередь возвращает указатель на массив)
Изучаю c++ по одной книжке.Она говорить не умеет.. Так вот понадобилось написать функцию,которая как параметр получает указатель на...

Написать функцию, получающую указатель на массив и возвращает сумму и произведение его элементов
Надо написать функцию, которая получает указатель на массив и его размер, и возвращает сумму и произведение его элементов в двух ...

Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем
Ребят , есть задачи , а в частности нужно с помощью функций и деления по остатку (%) написать несколько программ , а именно : 1)...

функция которая принимает указатель на массив структур
Привет нужна статическая функция которая принимает указатель на массив так вот в функции func MyStruct* arr работает ,а вот в чем...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru