Συμβολοσυναρτήσεις σε Array

Συζητήσεις για την γλώσσα C και C++

Συντονιστές: Super-Moderators, WebDev Moderators

Απάντηση
tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

Συμβολοσυναρτήσεις σε Array

Δημοσίευση από tonik » 17 Μάιος 2007 22:10

Γεια σας! Μετα από επίπονες προσπάθειες αποφάσισα να γράψω σχετικά με ένα πρόβλημα που αντιμετωπιζω στη C.

Θέλω να φτιάξω έναν πίνακα ο οποίος θα περιέχει συμβολοσυναρτήσεις.

Για παράδειγμα:

Έστω 1/2*pow(a,2)*(s+1)
1/5pow(s,4)*(a+2s)

πως μπορώ να έχω ένα πίνακα που αντι για αριθμούς ή χαρακτήρες το κάθε στοιχείο αυτού να είναι κάθε μία από τις παραπάνω συναρτήσεις;

π.χ. matrix[0]=1/2*pow(a,2)*(s+1)
matrix[1]=1/5pow(s,4)*(a+2s)

H βοηθειά σας θα είναι πολύτιμη για μένα.Ευχαριστώ!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Συμβολοσυναρτήσεις σε Array

Δημοσίευση από dva_dev » 18 Μάιος 2007 00:58

Ρίξε μια ματιά σε function pointers

google
How to Use Arrays of Function Pointers

Τα a,s τί τύπου είναι; Αν είναι int αυτό που ζητάς θα μπορούσε να γίνει κάπως έτσι:

Κώδικας: Επιλογή όλων

#include <stdio.h>
#include <stdlib.h>

double func1&#40;int a, int s&#41;;
double func2&#40;int a, int s&#41;;
...
double funcN&#40;int a, int s&#41;;

typedef double &#40;*FUNCTYPE&#41;&#40;int, int&#41;;

FUNCTYPE matrix&#91;&#93; = &#123;
	func1,
	func2,
	...,
	funcN
&#125;;

int main&#40;int argc, char**argv&#41;
&#123;
	int a=2;
	int b=3;
	double r1 = matrix&#91;0&#93;&#40;a,b&#41;;
	double r2 = matrix&#91;1&#93;&#40;a,b&#41;;
	...
	return 0;
&#125;

double func1&#40;int a, int s&#41;
&#123;
	return ... //Η 1η πράξη
&#125;

double func2&#40;int a, int s&#41;
&#123;
	return ... //Η 2η πράξη
&#125;

...

double funcN&#40;int a, int s&#41;
&#123;
	return ... //Η Nη πράξη
&#125;


tonik
Δημοσιεύσεις: 32
Εγγραφή: 17 Μάιος 2007 21:57

Συμβολοσυναρτήσεις σε Array

Δημοσίευση από tonik » 20 Μάιος 2007 20:46

Ευχαριστώ!
τα a,s βέβαια δεν θα είναι integer αλλά double.
δεν πιστεύω να αλλάζει σημαντικά ο κώδικας;

Απάντηση

Επιστροφή στο “C, C++”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης