Нужна помощи по сишке

  • Автор теми Автор теми Frase
  • Дата створення Дата створення

Frase

Привіт!
Статус: Офлайн
Реєстрація: 06.03.2012
Повідом.: 9
Нужна помощи по сишке

Массивы указателей на функции.

Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. Первая функция ищет простые числа и заносит их в новый массив, вторая – все числа кратные трем, третья – все четные числа. В программе создайте массив из 3-х указателей на эти функции. Добавьте меню, в котором пользователь может выбрать желаемую операцию.
Простое число – это число, которое делится ТОЛЬКО на 1 и на себя (2, 5, 7, 11 и т.д.)

Прошу показать для примера код задачи!!!
 
вот тебе все шаги, которые нужно сделать, два шага уже есть)

1) забить на учебу
2) просить на форумах решить задачки чтобы не выперли с учебы
3) закончить институт
4) искать работу
5) охуеть с зарплат программистов
6) просить на форуме научить быть программистом
7) получить задачку про массивы указателей на функции

как в сказке про золотую рыбку получилось
 
8)И дать в морду одному человеку
 
166.webp
 
которому от делать нечего спамит в темах

забить на учебу вобще не про меня просто не понял темы
 
ну так спроси что не понятно, а не проси сделать за тебя уроки
 
Прошу показать для примера код задачи!!! Я не просил делать задачи, я попросил показать пример, чтоб я разобрался в коде и сделал свою задачу, а ее показал чтоб увидели тип задачи.

Если кто то может расказать про это и ему не жалко времени то флаг в руки я буду только рад
 
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
 
Какая борзая нынче молодежь пошла :D
Задача гавно.
1 - нахера передавать указатель на массив?
2 - возвращать массив без размера - гауфно.

Со вторым пунктом согласен, а вот первый не совсем понятен. :rolleyes:
 
Со вторым пунктом согласен, а вот первый не совсем понятен. :rolleyes:

Массив по определению указатель.
Указатель на массив - это указатель на указатель.
Вопрос зачем массив передавать таким образом?
 
Массив по определению указатель.
Указатель на массив - это указатель на указатель.
Вопрос зачем массив передавать таким образом?

А, в этом смысле...
Я уже как-то привык к таким формулировкам эпичным :D
 
Прошу показать для примера код задачи!!!

Какие забавные зверюшки сейчас растут.
Приходят на форум со своей задачей и требуют решения.
А, ну да, ведь у вас есть знания, а значит вы обязаны ими делиться. Чо я как лох буду тратить время на учебу. Ага, ага.
 
так эта прощи паринай репы
Код:
#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 ); }

ни падскажишь места где праграмисты нужны хачу на работу устроица
 
Назад
Зверху Знизу