Sponsored Content
Top Forums Programming Writing a UNIX shell script to call a C function and redirecting data to a .txt file Post 302982060 by bjhjh on Thursday 22nd of September 2016 10:43:18 PM
Old 09-22-2016
Writing a UNIX shell script to call a C function and redirecting data to a .txt file

Hi, I am complete new to C programming and shell scripting. I just wrote a simple C code to calculate integral using trapezoid rule. I am prompting user to pass me No. of equally spaced points , N , upper and lower limit. My code looks as follows so far:

Code:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include <stdlib.h>
#define PI 3.14159265358979323846

float fn(float x)
{ 
  float integrand;
  integrand = (1.0/(1.0+x*x));
  return integrand;
}
int main()
{
  char str[100000];
  int i,N;
  float a,b,sum=0,result=0,h;
  float error;
 
  
  printf("Enter the no of equally spaced points as a string =");
  scanf("%s", str);
  N=atoi(str);
  printf("Enter the lower limit=");
  scanf("%f",&a);
  printf("Enter the upper limit=");
  scanf("%f",&b);
  h=(b-a)/(N-1);
  for(i=1;i<=N;i++)
  {
    sum=sum+fn(a+i*h);
    result=(fn(a)+fn(b)+2*sum)*h/2;
    error = fabs((atan(b)-atan(a))-result);
    //error = PI/2.0 - result;
    
    printf("N=%d result=%f error=%f\n", i, result, error);
  }
  printf("final result =%f\n", result);
  printf("cumulative error =%f\n", error);
  
}

Now, I want to write a unix script which calls the program for N = 2^{i} for integers i from 1, 2, 3, ..., 20 and use the Unix redirect operator > to record this data in a file.

I am searching over internet how to pass argument through shell and even how to modify my code so that it reads that passed parameter, still no good answer. Your suggestions are highly appreciated. It will help me learn the unix shell scripting as well.


Moderator's Comments:
Mod Comment Use code tags, thanks.

Last edited by zaxxon; 09-23-2016 at 03:19 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

i want to call a oracle function in my shell script

i want to call a oracle function in my shell script (4 Replies)
Discussion started by: dineshr85
4 Replies

2. Shell Programming and Scripting

how can i call a function in shell script

i have a function written in one shell script and i want to call that function in another shell script and use the value returned by that script. can any one suggest me how can i do that? regards, Rajesh.P (4 Replies)
Discussion started by: rajesh.P
4 Replies

3. Shell Programming and Scripting

unix script to takes the old data from a TXT file and compress them into new file

Hi, I am looking for the unix script which can takes the 2 month old data from a TXT file (there is one txt file in whiche messages are appended on daily basis) and compress them into new file.Please halp me out. (2 Replies)
Discussion started by: vpandey
2 Replies

4. Shell Programming and Scripting

Shell Script to call another function

Here is the following code : 1. # gcc -c test firstprog.c the above command will generate a executable file called "test " in which ever directory it is run. Assuming It will also return a value. 2. In the below SCRIPT . test is a file generated by compiling a c program... (3 Replies)
Discussion started by: Vabiosis
3 Replies

5. UNIX for Dummies Questions & Answers

How to Update DB table from txt file using CRONJOB in Unix Shell Script

Hi Experts, can guide how we can Update a Database Table using a txt file source Using Unix Shell Scripts. What are the Cron Jobs codes can written to Update DB table. txt file contains record like data. US 09/03/2012 User DocType DocID. these above feilds in txt files need to be updated in... (4 Replies)
Discussion started by: mahesh.sap
4 Replies

6. UNIX for Dummies Questions & Answers

redirecting arguments in a script to multiple lines in a .txt file

Ok hope my vocab is right here, i'm trying to write multiple sets of arguments to another file for example: I have a script that accepts four arguments and sends them to a another file $write.sh it then out in so the file receiver.txt would contain this: it then out in what... (2 Replies)
Discussion started by: austing5
2 Replies

7. Shell Programming and Scripting

Segmentation fault in function call, shell script

I am getting Segmentation fault at below function call in my script: get_x() { sqlplus -s / <<end | grep KEEP | sed 's/KEEP//;s///g' select 'KEEP' ,table_name from all_synonyms where upper(synonym_name)= '$1'; exit end x=$(get_x $1) echo " SQL OUTPUT IS :: $x" } I am getting output of... (1 Reply)
Discussion started by: IB_88
1 Replies

8. Shell Programming and Scripting

Need Help: Shell script to call sql session with variables stored in .txt file

Hi, I need help in writing a shell script which can read data from a text file (Cancel_ID.txt) and then calls sqlplus session (Cancel.sql) with the first line parameter of the text file ("0322600453") till all rows are not completed. ... (4 Replies)
Discussion started by: Khan28
4 Replies

9. Shell Programming and Scripting

Strange function call in the shell script parse_prog_args $@

I am converting shell script to Perl. In shell I have a code parse_prog_args() { if then while do case $1 in -P* | -p* ) export PROCESS_DATE=$2 export MM=`echo $2 | cut -c5-6` export DD=`echo $2 | cut -c7-8` export YY=`echo $2 | cut -c3-4` export... (4 Replies)
Discussion started by: digioleg54
4 Replies

10. Shell Programming and Scripting

How to get the shell script to read the .txt file as an input/data?

i have written my shell script in notepad however i am struggling to pass the data file to be read to the script the data file is of .txt format. My target is to run the shell script from the terminal and pass 3 arguments e.g. polg@DESKTOP-BVPDC5C:~/CS1420/coursework$ bash valsplit.sh input.txt... (11 Replies)
Discussion started by: Gurdza32
11 Replies
sin(3m) 																   sin(3m)

Name
       sin, cos, tan, asin, acos, atan, atan2 - trigonometric functions and their inverses

Syntax
       #include <math.h>

       double sin(x)
       double x;

       float fsin(x)
       float x;

       double cos(x)
       double x;

       float fcos(x)
       float x;

       double tan(x)
       double x;

       float ftan(x)
       float x;

       double asin(x)
       double x;

       float fasin(x)
       float x;

       double acos(x)
       double x;

       float facos(x)
       float x;

       double atan(x)
       double x;

       float fatan(x)
       float x;

       double atan2(y,x)
       double y,x;

       float fatan2(y,x)
       float y,x;

Description
       The and functions return trigonometric functions of radian arguments x for double data types.

       The and functions return trigonometric functions for float data types.

       The and functions return the arc sine in the range -pi/2 to pi/2 for double and float data types, respectively.

       The and functions return the arc cosine in the range 0 to pi for double and float data types, respectively.

       The and functions return the arc tangent in the range -pi/2 to pi/2 for double and float data types, respectively.

       The  and  functions  return  the  arc tangent of y/x in the range -pi to using the signs of both arguments to determine the quadrant of the
       return value for double and float data types, respectively.

   Error (due to roundoff)
       When P stands for the number stored in the computer in place of pi = 3.14159 26535 89793 23846 26433 ... .  and "trig" stands  for  one	of
       "sin",  "cos"  or  "tan",  then	the  expression  "trig(x)" in a program actually produces an approximation to trig(x*pi/P), and "atrig(x)"
       approximates (P/pi)*atrig(x).  The approximations are close.

       P differs from pi by a fraction of an ulp; the difference is apparent only if the argument x is huge,  and  even  then  the  difference	is
       likely  to  be swamped by the uncertainty in x.	Every trigonometric identity that does not involve pi explicitly is satisfied equally well
       regardless of whether P = pi.  For example, sin(x)**2+cos(x)**2 = 1 and sin(2x) = 2sin(x)cos(x) to within a few ulps regardless of how  big
       x is.  Therefore, the difference between P and pi is unlikely to effect scientific and engineering computations.

Return Values
       All the double functions return NaN if NaN is passed in.

       If |x| > 1 then (x) and (x) will return the default quiet NaN.

       The function defines (0,0) = NaN.

See Also
       hypot(3m), math(3m), sqrt(3m)

								       RISC								   sin(3m)
All times are GMT -4. The time now is 07:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy