Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2010, 12:59   #1
revanatar
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 23
По умолчанию

Нигде не смог найти нормальный простой пример на эту тему, Вот что смог написать. Что тут не так? Важно само использование функции как аргумента. Киньте исправленный текст плиз.

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>

int R(int r1,int r2)
{int r;
srand(time(0));
r=r1+rand()%(r2-r1);
return r;
}

int (*p)(int,int);

int N(int (*p0)(int r1,int r2))
{
int x = *p0, kw;
kw=x*x;
return kw;}

int main()
{int r1,r2,kw;
printf("interval/not ");
scanf("%d",&r1);
printf("do ");
scanf("%d",&r2);
p=R;
kw=N((*p)(r1,r2),kw);
printf("/nkw=%d",kw);
getch();
}
И кстати может кто знает, почему в dev-c++ 4.9.9.2 вылетает из програмки, когда вводишь элементы циклом с помощью scanf гдето после 4-го 5-го ввода?

Последний раз редактировалось Stilet; 21.12.2010 в 20:15.
revanatar вне форума Ответить с цитированием
Старый 21.12.2010, 17:04   #2
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Код:
#include <cstdlib>
#include <iostream>

using namespace std;
double getpi() {
       return 3.14;       
}
double getround(double r, double pi=getpi()) {
       return 2*pi*r*r;       
       }
int main(int argc, char *argv[])
{
    cout << getround(3);
    system("PAUSE");
    return EXIT_SUCCESS;
}
И ввод работает. Вот смотри
Код:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int a[6]; 
    for(int i=0;i<6;i++) {
              scanf("%d",&a[i]);
            }
    system("PAUSE");
    return EXIT_SUCCESS;
}
Самый перспективный framework Yii (c)

Последний раз редактировалось TranceSmile; 21.12.2010 в 17:25.
TranceSmile вне форума Ответить с цитированием
Старый 21.12.2010, 17:44   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

По вашему коду сложно понять, что вы там хотели, но вообще с указателями на функцию нет никаких особых проблем:
Код:
int foo(int x)
 {
 return 1 + x + x * x;
 }

void bar(int(*func)(int))
 {
 int a = 1;
 int b = func(a);
 printf("func(%d) = %d", a, b);
 }

int main()
{
bar(foo);
}
TranceSmile, не результат работы функции как аргумент другой функции, а указатель на функцию!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 21.12.2010, 17:48   #4
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Гром, сорри не так понял
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 21.12.2010, 19:59   #5
revanatar
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 23
По умолчанию

растолкуй, что ты там такого сделал чтобы ввод работал, по сути.

Я взял простой пример, одна функция находит случайное с интервала, другая - использует результат 1й - возводит в квадрат. Гром, плиз, мою поправь так, чтоб работала, мне важно, чтобы 2я функция использовала первую как я там пытался сделать.

Последний раз редактировалось Stilet; 21.12.2010 в 20:21.
revanatar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
аргумент командной строки DeFace Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 06.09.2010 22:10
поинтер на unicode wide char как аргумент Sfuller Общие вопросы C/C++ 3 30.06.2010 18:51
[РЕШЕНО][C] unsigned int аргумент работает как signed Sfuller Общие вопросы C/C++ 2 30.06.2010 18:17
С++. Функция в функции = ошибка phpcreator Помощь студентам 2 01.10.2009 23:34