× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Why bother with C?

RPGLE can do it quite easily.

gMean = (a*b*c*d*e*f*g*h*i*j*k*l) ** (1/12);

Charles



On Tue, Feb 16, 2016 at 5:07 PM, Stephen Mooney <stephenmmooney@xxxxxxxxx>
wrote:

Greetings,
I am looking for some example 'C' code that will allow me to pass 12
numeric variables from an SQLRPGLE program to a 'C' program that will
calculate the geometric mean for them and return the value to the SQLRPGLE
program.
I found an example where an RPG program will pass two character fields to
a 'C' program which will concatenate and return them, however I know
nothing of 'C', its syntax, or setting it up with an 'int' or 'void' to get
my example to do what I want.
Currently, this is the 'C' code example I am working with:
#include <stdio.h>

/* Main program. */


int main(int argc, char *argv[])
{

/* Display
parameters sent to the program. */
printf("Incoming parameter 1 = %s\n", argv[1]);
printf("Incoming parameter 2 = %s\n", argv[2]);

/*
Concatenate the two incoming parameters into the third parameter. */
strcpy(argv[3],argv[1]);
strcat(argv[3],argv[2]);

/*
End of program. Returning with concatenation of parameters 1 and 2 into
parameter 3. */ return;

}

I have found a 'C' program example that calculates the geometric mean I am
looking for, but it is set up as follows:
#include<stdio.h> #include<math.h>
int main(void)
{ //
((X1)(X2)(X3)........(XN))1/N double
x1=2,x2=4,x3=6,x4=7,x5=6; double x,N=5;
x=(x1*x2*x3*x4*x5);
x=pow(x,(1/N)); printf("Geometric Mean for
Xn: %lf",x); return 0; }

I believe I would need to set up x1=argv[1], x2=argv[2] and so on, but I
do not believe I am setting up the variables correctly to pass back what I
am looking for.
Any suggestions would be greatly appreciated. Thanks. Regards, Stephen
Mooney
--
This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L)
mailing list
To post a message email: C400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.