necesito calcular integrales en c++
nesesito un programa pequeño que me calcule integrales no tienen que ser muy grande
como sabras la integral no es mas q área, entonces ahi seria bueno hacer una suma sucesiva de areas..
osea aplicarimos un bucle..con un incremento muy pequeño..
por ejem..
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float i,a,n,dx,s;
cout<<"ingresar primer extremo.: ";cin>>a;
cout<<"ingresar 2ª extremo.: ";cin>>n;
dx=0.0005;
s=0;
for(i=a;i<=n;i=i+dx)
{ s=s+sin(i+dx)*dx;}
cout<<" la integral es: "<<s;
getch();
}
si te das cuenta el incremento es "dx" q es muy pequeño..ESPERO TE SIRVA AUNQ SEA DE ALGUITOL ;)
osea aplicarimos un bucle..con un incremento muy pequeño..
por ejem..
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float i,a,n,dx,s;
cout<<"ingresar primer extremo.: ";cin>>a;
cout<<"ingresar 2ª extremo.: ";cin>>n;
dx=0.0005;
s=0;
for(i=a;i<=n;i=i+dx)
{ s=s+sin(i+dx)*dx;}
cout<<" la integral es: "<<s;
getch();
}
si te das cuenta el incremento es "dx" q es muy pequeño..ESPERO TE SIRVA AUNQ SEA DE ALGUITOL ;)
espero que te sirva ok. cuidate
#include <stdio.h>
#include <conio.h>
#define n_f 5
#define n_c 5
void captura (int n, char iden);
void mostrar (int n,char iden);
void sumar (int op1, int op2, int res);
void restar (int op1, int op2, int res);
void multiplicar (int op1, int op2, int res);
void ordenar_f (int n, int res);
void ordenar_c (int n, int res);
void menor (int n);
void mayor (int n);
void promedio (int n);
int matriz[n_f][n_c][10],nf,nc,i,j,m,z;
void main ()
{
char opc,opco,opcm;
do
{
clrscr();
printf ("nnn");
printf ("ttOperaciones con matricesnnn");
printf ("t*** M e n u ***nn");
printf ("t1. Capturarn");
printf ("t2. Mostrarn");
printf ("t3. Suma de Matricesn");
printf ("t4. Resta de Matricesn");
printf ("t5. Multiplicacion de Matricesn");
printf ("t6. Ordenar por filas y columnas a la matriz => n");
printf ("t7. Valor Menor, Mayor y Promedio => nn");
printf ("t8. Salirnn");
printf ("ttOpcion ");
opc=getch();
switch(opc)
{
case '1':clrscr();
printf ("nntCapturando las matrices A y Bnn");
printf ("t No. de Filas: ");
scanf("%d",&nf);
printf ("tNo. de Columnas: ");
scanf("%d",&nc);
printf("n");
captura (0,'A');
captura (1,'B');
break;
case '2':clrscr();
printf ("nntLas matrices capturadas son:nn");
mostrar(0,'A');
mostrar(1,'B');
getch();
break;
case '3':clrscr();
printf ("nntLa Suma de las matrices A y B es:nn");
sumar (0,1,2);
getch();
break;
case '4':clrscr();
printf ("nntLa Resta de las matrices A y B es:nn");
restar (0,1,3);
getch();
break;
case '5':clrscr();
printf ("nntLa Multiplicacion de las matrices A y B es:nn");
multiplicar (0,1,4);
getch();
break;
case '6':do
{
clrscr();
printf ("nntt* * Menu ordenar * *nnn");
printf ("t1. Matriz An");
printf ("t2. Matriz Bn");
printf ("t3. Volvernn");
printf ("tOpcion ");
opco=getch();
switch(opco)
{
case '1':clrscr();
printf ("ntLa matriz original capturado es:nn");
mostrar(0,'A');
printf ("nnn");
ordenar_f(0,7);
printf ("nnn");
ordenar_c(0,6);
getch();
break;
case '2':clrscr();
printf ("ntLa matriz original capturado es:nn");
mostrar(1,'B');
printf ("nnn");
ordenar_f(1,7);
printf ("nnn");
ordenar_c(1,6);
getch();
break;
}
}
while(opco!='3');
break;
case '7':do
{
clrscr();
printf ("nnt* * Menu Menor, Mayor, Promedio * *nnn");
printf ("t1. Matriz An");
printf ("t2. Matriz Bn");
printf ("t3. Volvernn");
printf ("tOpcion ");
opcm=getch();
switch(opcm)
{
case '1':clrscr();
menor(0);
mayor(0);
promedio(0);
getch();
break;
case '2':clrscr();
menor(1);
mayor(1);
promedio(1);
getch();
break;
}
}
while(opcm!='3');
break;
}
}
while(opc!='8');
}
void captura(int n, char iden)
{
int i,j;
printf ("ntMatriz %c:n ",iden);
printf ("n");
for (i=0;i<nf;i++)
for (j=0;j<nc;j++)
{
printf ("tElemento [%d][%d]: ",i+1,j+1);
scanf ("%d",&matriz[i][j][n]);
}
printf("nn");
}
void mostrar (int n, char iden)
{
int i,j;
printf ("tMatriz %c:n",iden);
printf ("n");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][n]);
printf ("n");
}
}
void sumar (int op1, int op2, int res)
{
int i,j;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
matriz[i][j][res] += matriz[i][j][op1] + matriz[i][j][op2];
}
}
printf("ntResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" + ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void restar (int op1, int op2, int res)
{
int i,j;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
matriz[i][j][res] += matriz[i][j][op1] - matriz[i][j][op2];
}
}
printf("nResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" - ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void multiplicar (int op1, int op2, int res)
{
int i,j,k;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
for (k=0;k<nc;k++)
matriz[i][j][res] += matriz[i][k][op1] * matriz[k][j][op2];
}
}
printf("nResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" X ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void ordenar_f(int n, int res)
{
int i,j,k,aux;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
matriz[i][j][res]=matriz[i][j][n];
}
for (j=0;j<nf;j++)
{
for (i=0;i<nc-1;i++)
{
for (k=i+1;k<nc;k++)
{
if (matriz[j][i][res] > matriz[j][k][res])
{
aux = matriz[j][i][res];
matriz[j][i][res] = matriz[j][k][res];
matriz[j][k][res] = aux;
}
}
}
}
printf ("ntOrdenado por filasnn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][res]);
printf ("n");
}
printf ("n");
}
void ordenar_c(int n, int res)
{
int i,j,k,aux;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
matriz[i][j][res]=matriz[i][j][n];
}
for (j=0;j<nc;j++)
{
for (i=0;i<nf-1;i++)
{
for (k=i+1;k<nf;k++)
{
if (matriz[i][j][res] > matriz[k][j][res])
{
aux = matriz[i][j][res];
matriz[i][j][res] = matriz[k][j][res];
matriz[k][j][res] = aux;
}
}
}
}
printf ("ntOrdenado por culumnasnn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][res]);
printf ("n");
}
printf ("n");
}
void menor(int n)
{
int i,j,auxm=1,posf=0,posc=0;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
if (auxm > matriz[i][j][n])
{
auxm=matriz[i][j][n];
posf=i;
posc=j;
}
}
}
printf ("nntEl numero menor es: %d posicion [%d][%d] ",auxm,posf+1,posc+1);
}
void mayor(int n)
{
int i,j,auxM=0,posf=0,posc=0;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
if (auxM < matriz[i][j][n])
{
auxM=matriz[i][j][n];
posf=i;
posc=j;
}
}
}
printf ("nntEl numero mayor es: %d posicion [%d][%d] ",auxM,posf+1,posc+1);
}
void promedio(int n)
{
int i,j;
float acu=0,p;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
acu+=matriz[i][j][n];
}
}
p = acu/(nf*nc);
printf ("nntEl promedio la matriz es: %4.2f",p);
}
#include <stdio.h>
#include <conio.h>
#define n_f 5
#define n_c 5
void captura (int n, char iden);
void mostrar (int n,char iden);
void sumar (int op1, int op2, int res);
void restar (int op1, int op2, int res);
void multiplicar (int op1, int op2, int res);
void ordenar_f (int n, int res);
void ordenar_c (int n, int res);
void menor (int n);
void mayor (int n);
void promedio (int n);
int matriz[n_f][n_c][10],nf,nc,i,j,m,z;
void main ()
{
char opc,opco,opcm;
do
{
clrscr();
printf ("nnn");
printf ("ttOperaciones con matricesnnn");
printf ("t*** M e n u ***nn");
printf ("t1. Capturarn");
printf ("t2. Mostrarn");
printf ("t3. Suma de Matricesn");
printf ("t4. Resta de Matricesn");
printf ("t5. Multiplicacion de Matricesn");
printf ("t6. Ordenar por filas y columnas a la matriz => n");
printf ("t7. Valor Menor, Mayor y Promedio => nn");
printf ("t8. Salirnn");
printf ("ttOpcion ");
opc=getch();
switch(opc)
{
case '1':clrscr();
printf ("nntCapturando las matrices A y Bnn");
printf ("t No. de Filas: ");
scanf("%d",&nf);
printf ("tNo. de Columnas: ");
scanf("%d",&nc);
printf("n");
captura (0,'A');
captura (1,'B');
break;
case '2':clrscr();
printf ("nntLas matrices capturadas son:nn");
mostrar(0,'A');
mostrar(1,'B');
getch();
break;
case '3':clrscr();
printf ("nntLa Suma de las matrices A y B es:nn");
sumar (0,1,2);
getch();
break;
case '4':clrscr();
printf ("nntLa Resta de las matrices A y B es:nn");
restar (0,1,3);
getch();
break;
case '5':clrscr();
printf ("nntLa Multiplicacion de las matrices A y B es:nn");
multiplicar (0,1,4);
getch();
break;
case '6':do
{
clrscr();
printf ("nntt* * Menu ordenar * *nnn");
printf ("t1. Matriz An");
printf ("t2. Matriz Bn");
printf ("t3. Volvernn");
printf ("tOpcion ");
opco=getch();
switch(opco)
{
case '1':clrscr();
printf ("ntLa matriz original capturado es:nn");
mostrar(0,'A');
printf ("nnn");
ordenar_f(0,7);
printf ("nnn");
ordenar_c(0,6);
getch();
break;
case '2':clrscr();
printf ("ntLa matriz original capturado es:nn");
mostrar(1,'B');
printf ("nnn");
ordenar_f(1,7);
printf ("nnn");
ordenar_c(1,6);
getch();
break;
}
}
while(opco!='3');
break;
case '7':do
{
clrscr();
printf ("nnt* * Menu Menor, Mayor, Promedio * *nnn");
printf ("t1. Matriz An");
printf ("t2. Matriz Bn");
printf ("t3. Volvernn");
printf ("tOpcion ");
opcm=getch();
switch(opcm)
{
case '1':clrscr();
menor(0);
mayor(0);
promedio(0);
getch();
break;
case '2':clrscr();
menor(1);
mayor(1);
promedio(1);
getch();
break;
}
}
while(opcm!='3');
break;
}
}
while(opc!='8');
}
void captura(int n, char iden)
{
int i,j;
printf ("ntMatriz %c:n ",iden);
printf ("n");
for (i=0;i<nf;i++)
for (j=0;j<nc;j++)
{
printf ("tElemento [%d][%d]: ",i+1,j+1);
scanf ("%d",&matriz[i][j][n]);
}
printf("nn");
}
void mostrar (int n, char iden)
{
int i,j;
printf ("tMatriz %c:n",iden);
printf ("n");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][n]);
printf ("n");
}
}
void sumar (int op1, int op2, int res)
{
int i,j;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
matriz[i][j][res] += matriz[i][j][op1] + matriz[i][j][op2];
}
}
printf("ntResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" + ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void restar (int op1, int op2, int res)
{
int i,j;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
matriz[i][j][res] += matriz[i][j][op1] - matriz[i][j][op2];
}
}
printf("nResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" - ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void multiplicar (int op1, int op2, int res)
{
int i,j,k;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
for (k=0;k<nc;k++)
matriz[i][j][res] += matriz[i][k][op1] * matriz[k][j][op2];
}
}
printf("nResultado:nn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][op1]);
if (i!=1)
printf (" ");
else
printf (" X ");
for (j=0;j<nc;j++)
printf("%4d",matriz[i][j][op2]);
if(i!=1)
printf (" ");
else
printf (" = ");
for (j=0;j<nc;j++)
printf ("%4d",matriz[i][j][res]);
printf ("n");
}
}
void ordenar_f(int n, int res)
{
int i,j,k,aux;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
matriz[i][j][res]=matriz[i][j][n];
}
for (j=0;j<nf;j++)
{
for (i=0;i<nc-1;i++)
{
for (k=i+1;k<nc;k++)
{
if (matriz[j][i][res] > matriz[j][k][res])
{
aux = matriz[j][i][res];
matriz[j][i][res] = matriz[j][k][res];
matriz[j][k][res] = aux;
}
}
}
}
printf ("ntOrdenado por filasnn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][res]);
printf ("n");
}
printf ("n");
}
void ordenar_c(int n, int res)
{
int i,j,k,aux;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
matriz[i][j][res]=matriz[i][j][n];
}
for (j=0;j<nc;j++)
{
for (i=0;i<nf-1;i++)
{
for (k=i+1;k<nf;k++)
{
if (matriz[i][j][res] > matriz[k][j][res])
{
aux = matriz[i][j][res];
matriz[i][j][res] = matriz[k][j][res];
matriz[k][j][res] = aux;
}
}
}
}
printf ("ntOrdenado por culumnasnn");
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
printf (" %4dt", matriz[i][j][res]);
printf ("n");
}
printf ("n");
}
void menor(int n)
{
int i,j,auxm=1,posf=0,posc=0;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
if (auxm > matriz[i][j][n])
{
auxm=matriz[i][j][n];
posf=i;
posc=j;
}
}
}
printf ("nntEl numero menor es: %d posicion [%d][%d] ",auxm,posf+1,posc+1);
}
void mayor(int n)
{
int i,j,auxM=0,posf=0,posc=0;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
if (auxM < matriz[i][j][n])
{
auxM=matriz[i][j][n];
posf=i;
posc=j;
}
}
}
printf ("nntEl numero mayor es: %d posicion [%d][%d] ",auxM,posf+1,posc+1);
}
void promedio(int n)
{
int i,j;
float acu=0,p;
for (i=0;i<nf;i++)
{
for (j=0;j<nc;j++)
{
acu+=matriz[i][j][n];
}
}
p = acu/(nf*nc);
printf ("nntEl promedio la matriz es: %4.2f",p);
}