Hola:
Tengo un código desde hace años atrás, nunca lo he podido hacer funcionar hasta anoche, que
declaré unas variables y medio ejecutó. Pero me dice algo de una indirección, creo que es un array
que debo declarar, pero estoy muy confundido. Si alguien gusta probar y ayudarme, se lo agradezco.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//#define ma 10
//#define ra 24
//#define mb 10
//#define rb 24
/***********************************************************
* Prototipo de funciones *
***********************************************************/
void obteserie(void);
int main()
{
obteserie();
return 0;
}
//Recordatorio:
//rc resistencia calcular, ctr counter, r1 resistencia uno,
//valor, multiplo, r2 resistencia dos, rs resistencia serie,
//porcentaje, e, rt resistencia paralelo.
void obteserie(void)
{
int ma, ra, mb, rb;
int ctr;
float valor, multiplo, rc;
float r1, r2, rs, e, rt;
const porcentaje = 25;
printf("\nIntroduzca el valor deseado en Ohms\n");
scanf("%f", &rc);
clrscr();
ctr=0;
for(ma=0; ma<10; ma++)
{
for(ra=0; ra<24; ra++)
{
for(mb=0; mb<10; mb++)
{
for(rb=0; rb<24; rb++)
{
//// <==========Aquí r1 y r2 me da error de indirección. es como un arreglo o algo así.
r1(valor[ra]*multiplo[ma]);
r2(valor[rb]*multiplo[mb]);
rs=r1+r2; // Resistencia en serie
if(r1<=r2&&rc<=rs+(rs*porcentaje/100)&&rc>=
rs-(rs*porcentaje/100))
{
if((rc!=r1) && (rc!=r2))
{
e=((rs-rc)/rc)*100;
if(e<=porcentaje)
{
printf("%.3f + %.3f =
%.4f %.4f %% error.\n",
r1, r2, rs, e);
ctr++;
}
}
}
rt=((r1 * r2)/(r1 + r2)); // Resistencia en
paralelo
if(r1<=r2&&rc<=rt+(rt*porcentaje/100)&&rc>=
rt-(rt*porcentaje/100))
{
if((rc != r1) && (rc != r2))
{
e=((rt - rc)/rc)*100;
if(e<=porcentaje)
{
printf("%.3f || %.3f =
%.4f %.4f %% error\n",
r1, r2, rt, e);
ctr++;
}
}
}
if(ctr >= 24)
{
printf("\nMAS VALORES -");
ctr=0;
getch();
}
}
}
}
}
getch();
clrscr();
};
Es parte de otro programa más grande, que luego quiero pasarlo a VB.
Y dejar este, en este subforo.
Bye('_')...